在尝试回答关于
在Python交互模式和脚本运行时,输出结果不同。
根据这个答案:
当前实现保留了一个整数对象数组,用于存储-5到256之间的所有整数。当你创建该范围内的整数时,实际上只会返回对现有对象的引用。
因此,我期望
问题:为什么在交互模式和脚本运行时
注意:在Python 2.7和Python 3中进行了测试。
is
关键字的使用问题时,我发现以下代码:
脚本:
a = 123456
b = 123456
print a is b # True
交互模式:
>>> a = 123456
>>> b = 123456
>>> a is b
False
在Python交互模式和脚本运行时,输出结果不同。
根据这个答案:
当前实现保留了一个整数对象数组,用于存储-5到256之间的所有整数。当你创建该范围内的整数时,实际上只会返回对现有对象的引用。
因此,我期望
a is b
只对[-5, 256]
范围内的整数返回True
。但是在交互模式下为真,在脚本运行时则不为真。问题:为什么在交互模式和脚本运行时
a is b
的行为不同?注意:在Python 2.7和Python 3中进行了测试。
>>> a=b; >>> a is b
返回True
。 - Davidmh