为什么这个失败了
但是
L is [1,2,3,4]
,但这个可以运行:L = [1,2,3]
?但是
L is 1
和L = 1
都可以正常工作。L is [1,2,3,4]
,但这个可以运行:L = [1,2,3]
?L is 1
和L = 1
都可以正常工作。is
应该只在右侧进行算术运算时使用。例如:
is
操作符通常用于比较两个对象是否相同,而不是比较它们的值。如果要比较两个对象的值,请使用==
操作符。但需要注意的是,在某些情况下(例如比较一个变量是否为None
),使用is
操作符更准确。
X is 1 + 2 + 3
is/2
将右侧结构作为算术表达式进行评估。如果它不是有效的算术表达式或数字,则is/2
会失败。否则,计算算术表达式得到的数字将与 [推测未绑定的] 左侧值统一。