Создать новую переменную с именем из ввода в Python? - PullRequest
1 голос
/ 25 октября 2010

Это то, что я задавал вопросы в течение некоторого времени. Как бы я создал переменную во время выполнения, как имя по значению другой переменной. Так, например, код попросит пользователя ввести строку. Затем будет создана переменная, названная по имени этой строки со значением по умолчанию «default». Это вообще возможно?

1 Ответ

4 голосов
/ 25 октября 2010

Возможно, но это, конечно, не рекомендуется.Вы можете обращаться к глобальному пространству имен как к диктовке (это внутренний диктат) и добавлять к нему записи.

Если вы выполняли интерактивный переводчик, скажем, для математики или чего-то еще.На самом деле вы должны передавать dict каждому eval () или exec, который затем можете использовать повторно в качестве локального пространства имен.

В качестве быстрого, плохого примера не делайте этого дома:

g = globals() # get a reference to the globals dict
g[raw_input("Name Please")] = raw_input("Value Please")
print foo

Запустите его, он будет отслеживаться, если вы не введете 'foo' для первой подсказки.

...