[python] Problem s metodami

Jan Svec honza na py.cz
Pátek Únor 17 10:04:54 CET 2006


Ahoj,
muze mi nekdo potvrdit nasledujici chovani na nejnovejsi verzi Python
(testovano na 2.3.5 a 2.4.1):

>>> class cls(object):
...   def method(): pass
...
>>> obj = cls()
>>> obj.method is obj.method     # !!!
False
>>> obj.method == obj.method
True

Pravdepodobne nejde o chybu, nebot ne vzdy plati treba (ilustrativne):

>>> 'jedna' is 'jedna'

Dane chovani me ale docela prekvapilo. Pravdepodobne k tomu dojde
pri ziskavani objektu metody na zaklade definice funkcniho objektu
uvnitr tridy.

Honza

-- 
S pozdravem
Jan Svec
<honza na py.cz>
http://py.cz




Další informace o konferenci Python