您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Python 2.7中的id函数,is运算符,对象标识和用户定义的方法

Python 2.7中的id函数,is运算符,对象标识和用户定义的方法

id函数的Python文档指出:

返回对象的“身份”。这是一个整数(或长整数),在此对象的生存期内,此整数保证是唯一且恒定的。

(强调我的)

当您这样做时id(Hello.hello) == id(Hello.hello)方法对象只是短暂地创建,并且在首次调用“ id”之后被视为“无效”。由于调用id,您只需要Hello.hello在短时间内存活- 足以获取ID。一旦获得该ID,该对象将失效,第二个对象Hello.hello可以重用该地址,这使其看起来好像两个对象具有相同的ID。

Hello.hello is Hello.hello与之形成对比的是,两个实例的生存期必须足够长才能相互比较,因此最终您将拥有两个实时实例。

如果您改为尝试:

>>> a = Hello.hello
>>> b = Hello.hello
>>> id(a) == id(b)
False

…您将获得的期望值False

python 2022/1/1 18:36:43 有238人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶