[Python-es] es posible convertir __setattr__ en un staticmethod?
Juan Ignacio
euribates en gmail.com
Lun Feb 28 10:20:13 CET 2011
2011/2/28 Jose Caballero <jcaballero.hep en gmail.com>:
> La pregunta es si se puede hacer algo como
> class myclass:
> def __setattr__(key, value):
> self.__dict__[key] = value
> print 'passing key %s with value %s' %(key, value)
> __setattr__ = staticmethod( __setattr__ )
>
> y luego poder hacer
>
> myclass.x = 1
> myclass.y = 2
Se puede, pero no hace falta:
>>> class C(object):
... pass
...
>>> C.x = 1
>>> C.y = 1
>>> print C.x
1
Aunque normalmente se prefiere algo como esto:
class C(object):
x = 1
y = y
print C.x
1
Más información sobre la lista de distribución Python-es