id () объектов привязанного и несвязанного метода - иногда одинаковые для разных объектов, иногда разные для одного и того же объекта
мы попробовали некоторый код о связанных и несвязанных методах. Когда мы их вызываем, я думаю, что они оба будут возвращать объекты. Но когда я используюid()
для получения некоторой информации, она возвращает то, что я неТ понять.
IDE: Затмение
Плагин: pydev
Class C(object):
def foo(self):
pass
cobj = C()
print id(C.foo) #1
print id(cobj.foo) #2
a = C.foo
b = cobj.foo
print id(a) #3
print id(b) #4
И вывод ...
5671672
5671672
5671672
5669368
Почему # 1 и # 2 возвращают один и тот же идентификатор? Арен»они разные объекты? И если мы назначимC.foo
а такжеconj.foo
для двух переменных # 3 и # 4 возвращают разные идентификаторы.
Я думаю, что № 3 и № 4 показывают, что это не один и тот же объект, но № 1 и № 2 ...
В чем разница между идентификатором связанного метода и несвязанного метода?