While executing the class definition which object is referenced by the first argument of the class method, Y r Object attributes not allowed as default arguments

Krishna Krishna.00.K at gmail.com
Thu Mar 6 19:48:42 EST 2008


>>> class Test(object):
...     def __init__(self):
...             self.a= 2
...     def func(self, k = self.a):
...             print k
...
Traceback (most recent call last):
  File "<stdin>", line 1, in ?
  File "<stdin>", line 4, in Test
NameError: name 'self' is not defined
>>>

In the 'definition of the class', what would the first argument 'self'
in the methods evaluate to; when we have an object defined, it is
bound to the object reference, but what happens while the class
definition is executed, which I believe happens when the module
containing the class definition is imported

Thanks,
Kr



More information about the Python-list mailing list