0%

python判断语句的区别

❓ 我目前正在学习Python,但我并不完全理解“True / False”的概念。在Python中,数字0与“假”相关,数字1与“真”相关。

当我写下面的代码:

1
2
3
4
5
6
7
8
9
x = 2
y = 1

if y == True:
print("Y is True")
if x == True:
print("X is True")
else:
print("X is False")

我得到“Y为真”,因为“1”为真。 我得到“ X为假”,但我认为这也应该为“ True”,因为存在一个值(x = 2),而不是“None,0等”。

当我写:

1
2
3
4
if x:
print("X is True")
else:
print("X is False")

然后我得到“X为True”,因为x不为空,因此为真。if x:if x == True之间的确切区别是什么?


✔️ 区别在于,if x == True:检查x的真值。 除0以外的所有整数的真值均为true(在本例中为2)。

if x == True:,但是,将xTrue的值进行比较,True的值是1。比较2 == 1会得出错误的值。

确切地说,有两个相邻的概念:一个是“真值”,它确定if和while的行为。另外一个是值True和False,分别具有真值“true”和“false”,但不一定等于其他真实值。 错误值。

如果出于任何原因绝对需要检查True和False的确切值,通过if x is Trueif x is False的方式进行检查。 这样可以确保如果y恰好为True,则可以通过测试;如果为1,则不会通过测试。