Seite 1 von 1
Python's 'is' operator ...
Verfasst: Donnerstag 15. November 2012, 22:04
von vetterh
Code: Alles auswählen
class C(object):
def m(self):
pass
iC = C()
id(iC.m)
id(C.m)
id(iC.m) == id(C.m)
iC.m is C.m
Das Ergebnis der letzten Zeile ist 'False', obwohl die Objekte 'iC.m' (bound method 'm' of class 'C') und 'C.m' (unbound method 'm' of class 'C') den gleichen ID-Wert haben ...
Überprüft denn der Python-Operator 'is' nicht nur die ID-Werte um festzustellen, ob zwei Referenzen auf das gleiche Objekt zeigen?
Re: Python's 'is' operator ...
Verfasst: Donnerstag 15. November 2012, 22:45
von EyDu
Hallo und willkommen im Forum!
Mal so zum Nachdenken. Damit kommst du sicher selber drauf:
Code: Alles auswählen
>>> class Spam(object):
... def eggs(self): pass
...
>>> spam = Spam()
>>> id(spam.eggs)
14718928
>>> id(Spam.eggs)
14718928
>>> a = spam.eggs
>>> b = Spam.eggs
>>> id(a)
14718928
>>> id(b)
140055128950336