Crear una instancia
Arnau Sanchez
arnau en ehas.org
Dom Jun 25 11:56:23 CEST 2006
Oscar Curero escribió:
> Hola,
>
> Tengo lo siguiente:
>
> class QUERY_IS_ACTIVE_BACKEND:
> def __init__(self,test):
> print "test"
>
> command="QUERY_IS_ACTIVE_BACKEND"
> instancia=command()
>
> Traceback (most recent call last):
> File "<stdin>", line 1, in ?
> TypeError: 'str' object is not callable
>
> ¿Como puede crear una instancia por su nombre y no por la referencia? (algo
> parecido a lo que se puede hacer con la función getattr con los métodos)
yo para eso uso locals() o globals(), según el caso. En tu ejemplo:
instancia = locals()[command]("parametro")
por cierto, en la función "init" intuyo que quieres imprimir el
parámetro pasado, así que sería 'print test' (no "test").
salud
Más información sobre la lista de distribución Python-es