"in" 运算符链接([True] 中 [True] 中的 True 输出:False )
"in" operator chaining ( True in [True] in [True] OUTPUT: False )
我想弄清楚这段代码的运行顺序:
print( True in [True] in [True] )
False
即使:
print( ( True in [True] ) in [True] )
True
和:
print( True in ( [True] in [True] ) )
TypeError
如果第一个代码不是最后两个代码,那怎么办?
in
与那里的链接进行比较
True in [True] in [True]
等同于(除了中间的[True]
被计算一次)
(True in [True]) and ([True] in [True])
也就是
True and False
也就是
False
这都与
相似
2 < 4 < 12
相当于(2 < 4) and (4 < 12)
.
的操作
print( True in [True] in [True] )
这实际上被解释为 - True in [True] and [True] in [True]
这给你错误,因为它变成了 - True and False
print( ( True in [True] ) in [True] )
首先检查 ( True in [True] )
,所以你得到 True in [True]
,这是 True。
print( True in ( [True] in [True] ) )
检查第二部分,在第一部分之前,因为括号改变了顺序,所以它变成了 - True in True
。 True
是一个布尔值,不是可迭代的,所以你不能使用 in
,然后你会得到 TypeError
我想弄清楚这段代码的运行顺序:
print( True in [True] in [True] )
False
即使:
print( ( True in [True] ) in [True] )
True
和:
print( True in ( [True] in [True] ) )
TypeError
如果第一个代码不是最后两个代码,那怎么办?
in
与那里的链接进行比较
True in [True] in [True]
等同于(除了中间的[True]
被计算一次)
(True in [True]) and ([True] in [True])
也就是
True and False
也就是
False
这都与
相似2 < 4 < 12
相当于(2 < 4) and (4 < 12)
.
print( True in [True] in [True] )
这实际上被解释为 - True in [True] and [True] in [True]
这给你错误,因为它变成了 - True and False
print( ( True in [True] ) in [True] )
首先检查 ( True in [True] )
,所以你得到 True in [True]
,这是 True。
print( True in ( [True] in [True] ) )
检查第二部分,在第一部分之前,因为括号改变了顺序,所以它变成了 - True in True
。 True
是一个布尔值,不是可迭代的,所以你不能使用 in
,然后你会得到 TypeError