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/

Responder a