Terry Reedy a écrit :
On 9/19/2010 1:37 PM, mafeu...@gmail.com wrote:

Hallo Group Members. From time to time I see in python code following
notation that (as I believe) extends namespace of MyClass.

No, it does not affect MyClass, just the instance dict.

class MyClass:
     def __init__(self):
         self.__dict__["maci"]=45

Have you seen exactly this usage?


myCl2 = MyClass2()
print myCl2.maci


I am guessing that there must be some difference between the one above
and the one below, because otherwise no one would probably use the one
above. Do YOu know that difference?

class MyClass2:
     def __init__(self):
         self.maci=45

If the class has a .__setattr__ method, the first bypasses that method,

It also bypasses object.__setattribute__ and - as a consequence - any binding descriptor by the same name as the attribute being set.





myCl = MyClass()
print myCl.maci

--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to