Как преобразовать строки в переменные в python
Теги:
Convert a String to Variable Name in Python
Вариант №1 - globals()
Функция globals()
в #python возвращает словарь текущей глобальной таблицы символов. В глобальной таблице символов хранится вся информация, относящаяся к глобальной области видимости программы, доступ к которой можно получить с помощью функции globals()
.
user_input = "apple"
globals()[user_input] = 50
print(apple)
print(type(apple))
>>> 50
>>> <class 'int'>
Вариант №2 locals() аналогично
user_input = "apple"
locals()[user_input] = 50
print(apple)
print(type(apple))
№3 exec()
Функция exec()
используется для динамического выполнения программы #python. Способ не является безопасным.
name = 'Elon'
exec("%s = %d" % (name, 100))
print(Elon)
>>> 1000
Внутри функции exec()
у нас есть %s и %d, используемые в качестве заполнителя для метки и значения переменной соответственно. Это означает, что мы присваиваем строке целочисленное значение с помощью оператора присваивания =, %s, и %d заключены в кавычки “”.