【发布时间】:2018-09-06 06:04:17
【问题描述】:
我发现一个有趣的事情是使用“is”来判断两个变量是否相同。 这是我的代码和结果:
a = 256
b = 256
c = 257
d = 257
print(a is b)
print(c is d)
结果显示:
True
False
实际上,当数字大于 256 时,它会变为 'False'。
另一个例子:
a = 'a' * 20
b = 'a' * 20
c = 'a' * 21
d = 'a' * 21
print(a is b)
print(c is d)
结果:
True
False
同样,当"'a' * n"中的n大于20时,它变为'False'。
但是当我把它放到一个函数中时,这个数字有多大并不重要:
def is_test(a):
x = a
y = a
print(x is y)
is_test(257)
is_test('a' * 21)
结果总是“真”
我在 Jupyter Notebook 上运行了代码。 任何人都可以向我解释这个吗?谢谢
【问题讨论】:
标签: python python-3.x boolean jupyter-notebook equals