Это может официально провалиться: «Содержимое этого словаря не должно изменяться; изменения могут не повлиять на значения локальных и свободных переменных, используемых интерпретатором». (из документации).

жный дубликат:
Как программно установить глобальную (модульную) переменную?

У меня есть класс с именем Переменная, определенная следующим образом:

class Variable():
    def __init__(self, name):
        self.name = name
        self._value = None
    def value(self):
        return self._value
    def __repr__(self):
        return self.name

Я хочу создать 26 заглавных однобуквенных экземпляров переменной, например:

A = Variable('A')
B = Variable('B')
...
Z = Variable('Z')

До сих пор я пробовал различные решения, и лучшее, что я придумал, это:

from string import uppercase
for char in uppercase:
    exec "%s = %s" % (char, Variable(str(char))) in None

Тем не менее, это не работает и дает мне эту ошибку:

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

Что я делаю неправильно?

Ответы на вопрос(6)

Ваш ответ на вопрос