why __repr__ affected after __getattr__ overloaded?
Gabriel Genellina
gagsl-py2 at yahoo.com.ar
Fri Jun 22 00:55:37 EDT 2007
En Fri, 22 Jun 2007 00:30:43 -0300, Roc Zhou <chowroc.z at gmail.com>
escribió:
> Now I have to design a class that overload __getattr__, but after
> that, I found the __repr__ have been affected. This is a simple
> example model:
You are creating many attributes with value "inexistent", even special
methods. Put a print statement and see what happens:
> #!/usr/bin/env python
>
> class test:
> def __init__(self):
> self.x = 1
> def __getattr__(self, attr_name):
> try:
> return self.__dict__[attr_name]
> except KeyError:
print "Now creating:",attr_name
> self.__dict__[attr_name] = 'inexistent'
> return self.__dict__[attr_name]
--
Gabriel Genellina
More information about the Python-list
mailing list