Possible Duplicate:
How to programmatically set a global (module) variable?mediante programación la creación de variables en Python
tengo una clase llamada variable definida como así:
class Variable():
def __init__(self, name):
self.name = name
self._value = None
def value(self):
return self._value
def __repr__(self):
return self.name
Quiero crear instancias 26 de capital de una sola letra de la variable de la siguiente manera:
A = Variable('A')
B = Variable('B')
...
Z = Variable('Z')
Hasta ahora he probado varias soluciones, y lo mejor que he encontrado es:
from string import uppercase
for char in uppercase:
exec "%s = %s" % (char, Variable(str(char))) in None
Sin embargo, esto no funciona y me da este error:
Traceback (most recent call last):
File "C:\Users\Administrator\Dev\python\truthtable\truthtable.py", line 7, in <module>
exec "%s = %s" % (char, Variable(str(char))) in None
File "<string>", line 1, in <module>
NameError: name 'A' is not defined
¿Qué estoy haciendo mal?
¿Aparte de tratar de crear variables dinámicamente? –
Er, el nombre de la pregunta es un poco inseguro, no estoy muy al tanto de este tipo de semántica. – deeb
@deeb - No creo que Ignacio se estuviera refiriendo a su título. – senderle