Creación de variables mediante programación en Python [duplicado]
Posible duplicado:
¿Cómo establecer mediante programación una variable global (módulo)?
Tengo una clase llamada Variable definida 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 26 instancias de una letra mayúscula de Variable como esta:
A = Variable('A')
B = Variable('B')
...
Z = Variable('Z')
Hasta ahora he probado varias soluciones, y la 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 se ejecuta 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?