Id of methods
Terry Reedy
tjreedy at udel.edu
Wed Feb 8 23:08:36 EST 2012
On 2/8/2012 10:48 PM, Emeka wrote:
>class Boo(object):
>
> def __init__(self , moon, sun):
> self.moon = moon
> self.sun = sun
> def daf(self):
> return self.sun + self.moon
> def ball(self):
> return self.sun * self.moon
>
>
> print Boo.__dict__
>
> {'__module__': '__main__', 'ball': <function ball at 0x286e9b0>, 'daf':
> <function daf at 0x286e938>, '__dict__ ......}
>
> print hex(id(Boo.daf))
> 0x27de5a0
> My question is why is it that the id of Boo.daf is different from daf's
> hex value in the above dict?
Because you are using Python 2. Just print Boo.daf and you will see that
it is not a 'function'. In Python 3, it will be, and have the same address.
--
Terry Jan Reedy
More information about the Python-list
mailing list