@PCgames2008

Как в название одной переменной внести значение другой переменной?

Я создал переменную которая считывает что написал пользователь и мне надо что бы значение из этой переменной вписывалось в название другой переменной. Например пользователь написал "Hello" и это значение вписалось в переменную text_input, далее мне требуется создать переменную в названии которой будет значение переменной text_input. Например эта переменная называется name_ и мне надо что бы эта переменная приняла название name_Hello.
Подскажите как это можно сделать, заранее спасибо. (input если что это поле ввода)
  • Вопрос задан
  • 191 просмотр
Пригласить эксперта
Ответы на вопрос 2
Vindicar
@Vindicar
RTFM!
Это можно сделать, но в 99% случаев это не нужно делать. Во-первых, пользователь может ввести строку, которая не является корректным идентификатором. Во-вторых, появляется риск нечаянно перезаписать переменную, которую мы не хотели трогать.
Вместо этого следует использовать словарь (dict), где ключ - имя "переменной", а значение - её содержимое. Это куда более контролируемо.
Нет, я хочу выстрелить себе в ногу, и санитары меня не остановят!

Функция globals() возвращает словарь глобальных переменных, а locals() - словарь локальных.
При этом эти словари - не копии, а, можно сказать, оригиналы. Добавишь в них новый ключ - появится новая переменная. Вот пример в интерактивной консоли питона:
Python 3.11.7 (tags/v3.11.7:fa7a6f2, Dec  4 2023, 19:24:49) [MSC v.1937 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> l = locals()
>>> l['x'] = 1
>>> x
1
>>>

Ответ написан
Комментировать
@PCgames2008 Автор вопроса
Vindicar Этот способ не совсем подходящий так как в избежание перезаписи я создам список тех переменных которые уже созданы и если они существуют то тогда их не получится перезаписать. А что касается словаря то он не подойдёт так как переменная будет создавать новые объекты при помощи tkinter.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
SpectrumData Екатеринбург
от 150 000 до 200 000 ₽
Гринатом Москва
от 150 000 ₽
Greenway Global Новосибирск
от 150 000 ₽
15 июн. 2024, в 23:20
50000 руб./за проект
15 июн. 2024, в 23:15
4000 руб./за проект
15 июн. 2024, в 23:01
4400 руб./за проект