is也被叫做同一性运算符,这个运算符比较判断的是对象间的唯一身份标识,也就是id是否相同。
最重要的一 ...
Pizza().get_radius Pizza.get_radius括号加不加都一样
不一样,不是同个对象,虽然 id 相同,但是是因为Python 为保证该对象在其生命周期内是惟一的和常量。
具有不重叠生存期的两个对象可能具有相同的id()值。你去看下你楼上
Twilight6 发表于 2020-7-8 21:07
不一样,不是同个对象,虽然 id 相同,但是是因为Python 为保证该对象在其生命周期内是惟一的和常 ...
我是说使用方式。
print( id(["22"]), id(["33"])) ,这两个ID也都相同的
Twilight6 发表于 2020-7-8 20:24
又去查了一堆资料,终于有一点眉目了,看看Python官方文档怎么说 id() 函数的:
class A:
def __init__(self,x):
self.x = x
结果:
>>> print(id(A(5)))
2311861943552
>>> print(id(A(5)))
2311861943552
>>> print(id(A(54)))
2311861943552
>>> print(id(A(23)))
2311861943552
>>>
很正确,不同实例对象只要不进行变量赋值,直接查id都是一样的,所以应该用is更准些吧 Stubborn 发表于 2020-7-8 20:38
is也被叫做同一性运算符,这个运算符比较判断的是对象间的唯一身份标识,也就是id是否相同。
最重要的一 ...
相当正确,解释的太好了,感谢大佬 Twilight6 发表于 2020-7-8 20:24
又去查了一堆资料,终于有一点眉目了,看看Python官方文档怎么说 id() 函数的:
楼下的大佬跟你的意思也是差不多,太深奥了,感谢大佬 lingedu 发表于 2020-7-9 14:23
结果:
很正确,不同实例对象只要不进行变量赋值,直接查id都是一样的,所以应该用is更准些吧
{:10_282:} 因为你的问题,我也 GET 到了新的知识哈哈~互相学习
页:
1
[2]