python y referencias a métodos

Arnau Sanchez arnau en ehas.org
Mie Feb 14 21:42:29 CET 2007


camontuyu escribió:

> Tengo una clase.
> 
> class A:
>     nombre = ""
>     apellidos = ""
> 
> ins = A()
> 
> ahora tengo una diccionario que debería guarda referencia a las
> variables de clase de la instacia en concreto
> 
> accion = {'nombre': ins.nombre, 'apellidos': ins.apellidos}
> 
> para luego hacer:
> 
> accion['nombre'] = "Pepito Perez"
> print ins.nombre
> # Pepito Perez

Uf, ¿no lo estás complicando innecesariamente creando un diccionario y una 
instancia que contienen la misma información? yo me quedaría sólo con uno de 
ellos, en este caso con la instancia. No se recomienda usar diccionarios para 
este tipo de estructuras, donde las claves son fijas y conocidas. Duele menos a 
la vista un registro.campo que registro["campo"].

A veces, es cierto, es necesario acceder a la estructura como si ésta fuera un 
diccionario (para extraer todos sus campos, por ejemplo). De las muchas 
alternativas para implementarlo, por su sencillez me quedaría con los Structs 
que propone P.Norvig en sus IAQ sobre Python:

http://norvig.com/python-iaq.html

(pregunta: "Is there a similar shortcut for objects?" y siguientes)

Todo esto dicho sin saber exactamente qué quieres hacer, quizá no te sirva.




Más información sobre la lista de distribución Python-es