【问题标题】:how does "is" identity operator work in python?\"is\" 身份运算符在 python 中如何工作?
【发布时间】:2023-02-17 23:21:53
【问题描述】:

这是我的代码

x = 5
y = 5
print(x is y)
print(id(x))
print(id(y))

输出是

True
1903991482800
1903991482800

我不知道为什么 x 和 y 在这里有相同的位置

请帮我说明一下这个问题! 谢谢!

【问题讨论】:

标签: python python-3.x location operator-keyword


【解决方案1】:

你的问题在技术上是一个复杂的概念,但我会尽量用简单的术语向你解释。

假设一个数字,比如“3”,存储在你的记忆中。当你声明 a = 3 时,Python 解释器实际上做的是让变量 'a' 指向存储 3 的内存位置。所以如果数字 3 存储在像 'xxyyzz' 这样的地址中,那么当你声明 a = 3 时,变量 a 指向内存地址 'xxyyzz'。同样,当您声明另一个变量 b = 3 时,发生的情况是变量“b”也指向内存位置“xxyyzz”。 Python 中的“is”运算符比较这些变量的内存地址,因此您得到 id(a)==id(b) 为 True。

希望这可以帮助!

【讨论】:

    猜你喜欢
    • 2015-05-11
    • 2013-08-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多