Quizá para eso te vendría mejor usar "property" http://docs.python.org/library/functions.html#property
Pero no se si lo tienes en python 2.3, me da que no 2011/2/28 Jose Caballero <jcaballero....@gmail.com>: > > > > > On Feb 28, 2011, at 4:20, Juan Ignacio <euriba...@gmail.com> wrote: > >> 2011/2/28 Jose Caballero <jcaballero....@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 > > > Pero fíjate que yo quiero hacer más cosas y no solo asignar un valor a la > variable. En el ejemplo que puse hago un print. También quiero hacer > validación de los valores. Por eso necesito una función/método. Y había > pensado en __setattr__ > _______________________________________________ > Python-es mailing list > Python-es@python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > -- Juan Ignacio Rodríguez de León Móvil: 605 890514 E-Mail: euriba...@gmail.com http://www.metriz.com/ http://descon2.com/ http://www.elornitorrincoenmascarado.com/ _______________________________________________ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/