这个问题只是出于好奇。
在阅读python 的对象模型文档时,我决定对类方法的 id 进行一些试验,并发现了这种行为:
Python 3.2.2 (default, Sep 4 2011, 09:07:29) [MSC v.1500 64 bit (AMD64)] on win32
Type "copyright", "credits" or "license()" for more information.
>>> class A():
def a(self):
pass
>>> id(A().a)
54107080
>>> id(A().a)
54108104
>>> id(A().a)
54107080
>>> id(A().a)
54108104
>>>
>>> id(A().a)
54108104
>>>
>>> id(A().a)
54108104
>>> id(A().a)
54107080
>>>
方法的id随着行的奇偶性而变化!
我其实是想创建同一个类的几个实例,看看它们是否有相同的方法对象,我希望它们是完全相同的,或者每次都改变,我没想到的是方法id将与解释器线是否均匀有关!有任何想法吗?
注意:我知道文档和解释器的版本不匹配,只是碰巧我在 Windows 上,我只安装了 3.2