Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/336.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我们可以为python中的变量分配已分配的变量吗?_Python - Fatal编程技术网

我们可以为python中的变量分配已分配的变量吗?

我们可以为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:"

我有下面的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:", 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