Могу ли я создать имя переменной с некоторым вычислением в python

#python-3.x #variables

#python-3.x #переменные

Вопрос:

Мне нравится создавать переменную с некоторым вычислением, как показано ниже

‘apple’ str(123)=’orange’

ожидается ниже

apple123=’оранжевый’

Это выглядит просто, но не работает.

Ответ №1:

Вы можете сделать это с помощью globals ()

Пример: globals()[‘apple’ str(123)]=’orange’

print (apple123) # выведет оранжевый

Ссылка:https://docs.python.org/3/library/functions.html#globals

Ответ №2:

Вы также можете использовать setattr для динамического создания переменных

Ответ №3:

вы можете использовать exec для создания динамической переменной

 key = 123
value = "orange"
exec(("apple{}='{}'").format(key, value))
print(apple123)
# prints
orange
  

но я бы посоветовал вам использовать словарь.

 a = {'apple123': 'orange', "apple_blah": "banana"}

a['apple123'] will return orange
  

https://docs.python.org/3/tutorial/datastructures.html#dictionaries