此问题已在此处找到答案:
“==”和“是”之间有区别吗((14个答案)
“is”运算符对整数的行为异常(11个答案)
python是字符串[duplicate]的运算符行为(1个答案)
两天前关门了。
我的理解是,如果所有原语类型的值相等,那么它们在引用上是相等的。
对于整数,下面的示例似乎就是这种情况:
v1 = 2
v2 = 2
v1 is v2 # prints True
对于布尔型,下面的示例似乎也是如此:
v1 = False
v2 = False
v1 is v2 # prints True
对于字符串,它开始变得有点混乱。以下示例遵循以下步骤:
v1 = 'testtest'
v2 = 'testtest'
v1 is v2 # prints True
但是,只要我在字符串中添加空格,它就会失败:
v1 = 'test test'
v2 = 'test test'
v1 is v2 # prints False
使用浮点数时,模式根本不存在:
v1 = 2.0
v2 = 2.0
v1 is v2 # prints False
除了添加空格外,为什么字符串遵循规则?为什么浮动根本不遵循规则?感谢您的帮助。
1条答案
按热度按时间b5buobof1#
对于整数,下面的示例似乎就是这种情况:
你被实现细节宠坏了,这使得某些整数的行为方式,考虑反例: