【发布时间】:2021-04-22 17:31:45
【问题描述】:
我不明白为什么a1、b1 变量指的是同一个东西,而a2、b2 不是指同一个东西:
a1="abc123"
b1="abc123"
print(a1 is b1)
输出:
True
a2="+abc123"
b2="+abc123"
print(a2 is b2)
输出:
False
【问题讨论】:
-
你能解释一下“为什么”是什么意思吗?字符串是不可变的,Python 语言不保证它们的身份——它们可能相同,也可能不相同。如果您一般要求 Python,那么这两种结果实际上都没有理由。您是在问为什么某些特定的实现会这样工作吗?怎么可能?为什么
+、长度之类的东西是触发器? -
请注意,此行为至少取决于实现以及语句是否一起翻译(即相同的模块或相同的 REPL 输入)。您必须清楚地说明这一点。
标签: python python-3.x string