我们可以为python中的变量分配已分配的变量吗?
我有下面的python代码。我无法理解结果如何将x值打印为 true,Z值为false。a为11,b为10我们可以为python中的变量分配已分配的变量吗?,python,Python,我有下面的python代码。我无法理解结果如何将x值打印为 true,Z值为false。a为11,b为10 x = (1 == True) y = (2 == False) z = (3 == True) a = True + 10 b = False + 10 print("x is", x) print("y is", y) print("z is", z) print("a:"
x = (1 == True)
y = (2 == False)
z = (3 == True)
a = True + 10
b = False + 10
print("x is", x)
print("y is", y)
print("z is", z)
print("a:", a)
print("b:", b)
在python中,True=1,False=0,因此如果1==1,那么x=(1==True)表示x=True 对于z,z=(3==True)表示z=(3==1)。3不等于1,所以z=False 对于a,a=True+10表示a=1+10=11。
对于b,b=False+10表示b=0+10=10。让我们看看真与假是由什么组成的
>>> type(True)
<class 'bool'>
>>> type(False)
<class 'bool'>
>>> bool.__bases__
(<class 'int'>,)
但与常规变量不同,您不能为它们赋值。这是因为它们也是python语言,编译器不允许将名称“True”和“False”作为变量
>>> True = 10
File "<stdin>", line 1
SyntaxError: cannot assign to True
>>>
它应该是
True=1
和False=0
。您好,请参阅此答案了解详细信息:“True和False是关键字,始终等于1和0”
>>> True = 10
File "<stdin>", line 1
SyntaxError: cannot assign to True
>>>
This... is the same as... resulting in...
1 == True 1 == 1 True
2 == False 2 == 1 False
3 == True 3 == 1 False
True + 10 1 + 10 11
False + 10 0 + 10 10