[pyar] Optimizacion vs (codigo limpio y generico)

Facundo Batista facundobatista en gmail.com
Mie Abr 23 08:29:35 ART 2014


2014-04-23 7:37 GMT-03:00 Pedro Jose Pezzarini <jose2190 en gmail.com>:

> Necesito que mi objeto pueda variar con el tiempo en sus atributos, pero
> quiero seguir utilizando accessor y mutators de la misma forma, similar a
>
> myobject.accessor(attributeName)
> myobject.mutator(attributeName, value)

A ver, vayamos de lo simple, y tratemos de solucionar algún caso
particular si aparece.

Entonces, vos tenés un objeto genérico:

Python 3.3.2+ (default, Feb 28 2014, 00:53:38)
>>> class C:
...   """Objeto genérico."""
...
>>> c = C()

Al cual le querés agregar atributos dinámicamente, y accederlos:

>>> c.foo = 3
>>> c.foo
3

Aunque quizás tengas el *nombre* del atributo, y por eso quieras usar
la forma que indicaste arriba; podés hacer:

>>> setattr(c, 'bar', 5)
>>> getattr(c, 'bar')
5

Si todavía querés la forma de "objeto.método(...)", podés hacer esto
(pero me parece rebuscado):

>>> c.__setattr__('baz', 7)
>>> c.__getattribute__('baz')
7

LLAP.

-- 
.    Facundo

Blog: http://www.taniquetil.com.ar/plog/
PyAr: http://www.python.org/ar/
Twitter: @facundobatista


More information about the pyar mailing list