Criando programaticamente variáveis em Python [duplicado]
Possível duplicado:
Como definir programaticamente uma variável global (módulo)?
Eu tenho uma classe chamada variável definida da seguinte forma:
class Variable():
def __init__(self, name):
self.name = name
self._value = None
def value(self):
return self._value
def __repr__(self):
return self.name
Quero criar 26 instâncias de letra maiúscula de variável como este:
A = Variable('A')
B = Variable('B')
...
Z = Variable('Z')
Até agora, eu tentei várias soluções, e o melhor que eu criei é:
from string import uppercase
for char in uppercase:
exec "%s = %s" % (char, Variable(str(char))) in None
No entanto, isso não é executado e me dá este erro:
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
O que estou fazendo errado?