Как в python3 обратиться к переменной по имени, используя значение из строки
Если на вход функции поступает строка ‘one’, то в функции должно возникнуть обращение к переменной, у которой имя one. То есть имя переменной совпадает с содержимым строки. В виде кода это должно выглядеть примерно так:
one = 'foobar' def func(name): if name == 'one': print(_переменная_с_названием_one) func('one') >> 'foobar'
Соответственно, как реализовать «_переменная_с_названием_one»? Видел пару примеров с использованием exec() в похожей ситуации, но возможно ли это сделать без exec()?
Отслеживать
68k 218 218 золотых знаков 79 79 серебряных знаков 221 221 бронзовый знак
Как преобразовать строку в имя переменной в python?
Здравствуйте. Проблема такая. Есть переменные para1, para2, para3 и так до 10. Эти переменные определены в начале файла. И им присвоено значение.
Нужно эти переменные засунуть в список paragraphs = [] ,при помощи paragraphs.append(para1)
переменным присвоены значения в начале кода.
para1 = ‘Это первый параграф’
para2 = ‘Это второй параграф’
x = 1
userInputs = 10 // это сколько этих переменных должно быть
while x var = «para» + str(x)
paragraphs.append(var)
x = x+1
Но проблема в том, что .append в список засовывает строку. А мне надо, чтобы он туда засунул имя переменных!
Потому что, потом
for p in paragraphs:
print(p)
он мне пишет
«para1»
«para2» и так далее
А надо, чтобы писал:
«Это первый параграф»
«Это второй параграф»
То есть значения переменных, которые определены в начале файла.
- Вопрос задан более трёх лет назад
- 9413 просмотров
3 способа преобразовать строку на имя переменной в Python
Мы будем преобразовывать строку Python в имя переменной с несколькими способами, как функция exec (), функции local () и функции глобалов ().
- Автор записи Автор: Team Python Pool
- Дата записи 16.04.2021
Вступление
Мы узнали о многих темах в Python. Но, вы когда-нибудь используете входную строку в качестве имени переменной в вашей программе. В этом руководстве мы будем сосредоточиться на этой теме, только для преобразования строки Python на имя переменной. Другими словами, мы будем создавать динамические имена переменных и присваивая их значение. Существуют несколько способов преобразования строки на имя переменной. Мы обсудим все из них в этой статье.
Мы преобразуем строку в именем переменной с несколькими способами, как функция Exec (), функции Local () и функции глобалов ().
Несколько способов с примерами для преобразования строки Python в именем переменной
Затем мы обсудим, как мы можем преобразовать строку в название переменной с примерами, подробно описанными.
1. Использование метода EXEC () в Python для преобразования строки Python в именем переменной
Методы EXEC () помогают нам динамически выполнять программу Python.
В этом примере у нас будет переменная, названная нами и входной строкой. Затем мы будем применять EXEC () Способ с некоторыми модификаторами и попытка преобразовать строку в имя переменной. Давайте подробно посмотрим с помощью примера, объясненной ниже:
#input String str = "Pythonpool" #apply exec() method exec("%s = %d" % (str,5000)) #print string print("output : ",Pythonpool)
output : 5000
- Во-первых, мы предприняли входную строку в STR AS Pythonpool.
- Тогда мы применили EXEC () функция.
- Внутри EXEC () Функция, мы взяли % s и% d , которые используются в качестве заполнителя для строкового значения и десятичное значение соответственно. Это означает, что мы присваиваем целочисленное значение строки с помощью оператора назначения =. Оба% s и% d прилагаются внутрь котировок “” Отказ
- Затем у нас есть скобки внутри, в котором мы прошли 2 вещи, то есть строка и целое число.
- Наконец, мы напечатали входную строку и посмотрим, содержит ли строка имя переменной или нет.
- Если программа успешно работает и печатает вывод, мы преобразовали строку в имя переменной.
- Следовательно, вы можете увидеть вывод.
2. Использование функции Locals () для преобразования строки Python в именем переменной
Функция Locals () в Python используется для возврата словаря текущего локальной таблицы символов. Локальная таблица символов доступна с помощью функции local (). Эта функция работает так же, как функция глобал (). Единственная разница между ними является функцией местных жителей (). Доступ к локальной таблице символов и глобал () Доступ к таблице глобальных символов, и оба возвращают словарь.
В этом примере мы будем принимать ввод как строку. Затем мы будем применять местные жители в качестве словаря, приведя к нему некоторое значение. Наконец, мы распечатаем входную строку и преобразуйте строку в именем переменной.
#taking input as a string str = "pythonpool" locals()[str] = 5000 print(pythonpool)
5000
- Во-первых, мы предприняли вход в строку как Python Pool.
- Затем мы модифицировали значение данной строки через словарь локального слова через функцию Local ().
- Наконец, мы напечатали входную строку и посмотрим, содержит ли строка имя переменной или нет.
- Если программа успешно работает и печатает вывод, мы преобразовали строку в имя переменной.
- Следовательно, вы можете увидеть вывод.
3. Использование функции Globals () для преобразования строки Python в именем переменной
Функция Globals () используется для возврата словаря текущего таблицы символов. Глобальная таблица символов используется для хранения всей информации, связанной с глобальным объемом программы, Доступ к функции глобалей ().
В этом примере мы будем принимать ввод как строку. Затем мы будем применять глобал как словарь, поместив его значение. Наконец, мы распечатаем входную строку и преобразуйте строку в именем переменной.
#taking input as a string str = "pythonpool" globals()[str] = 5000 print(pythonpool)
5000
- Во-первых, мы предприняли вход в строку как Python Pool.
- Затем мы изменили значение данной строки через глобал Словарь через глобал () функции.
- Наконец, мы напечатали входную строку и посмотрим, содержит ли строка имя переменной или нет.
- Если программа успешно работает и печатает вывод, мы преобразовали строку в имя переменной.
- Следовательно, вы можете увидеть вывод.
Плюсы и минусы создания глобальных переменных в Python
Плюс
- Когда мы создаем динамические переменные, они добавляют другой уровень косвествия.
- Это позволяет избежать большего количества дублирования кода.
Господин
- Мы не можем создавать динамические переменные для функций.
- Нелегко сохранить все дорожки лексических ссылок:
- Если мы создадим произвольные имена переменной, могут возникнуть конфликты.
- Трудно предсказать поведение и найти входы и выходы в коде.
Должны прочитать
- 【Как】 Проверьте, существует ли переменная в Python
- 5 лучших способов найти длину строки Python
Заключение
В этом руководстве мы узнали о концепции преобразования строки на имя переменной. Мы обсудили все пути, через которые мы можем преобразовать строку в именем переменной. Все способы подробно объяснены с помощью примеров. Вы можете использовать любой из методов, которые вы находите подходящие для вас и вашей программы.
Однако, если у вас есть какие-либо сомнения или вопросы, дайте мне знать в разделе «Комментарий» ниже. Я постараюсь помочь вам как можно скорее.
Читайте ещё по теме:
- 4 Надежных способа Подсчета Слов в строке в Python
- Что делает Zfill в Python | Python String zfill()
- Python String Casefolf ()
- Преобразование строк в числа и Чисел в строки в Python
- Python обратная строка – 5 способов и лучший
- Python __str __ () и __repr __ () Функции
- Python re.sub ()
- Метки function, python, string
Переменные в Python для начинающих
Любая программы состоит из набора команд и данных. Так вот, чтобы хранить данные, в любом языке программирования, и Python не исключение, есть такое понятие как переменные.
Переменная это не что иное, как имя, с помощью которого можно обратиться к данным, сохраненным в памяти компьютера. Другими словами, переменная — это именованная область памяти. Чтобы создать переменную и назначить ей значение используется оператор присваивания. Вот несколько примеров того, как создается, или, как говорят программисты, «объявляется» переменная
first = "синий"second = 23Синтаксис «объявления» прост: достаточно написать имя переменной, знак «=» и значение переменной. У разных переменных могут быть разные типы данных. В нашем примере переменная first является строкой, а переменная second — числом. В Python, кроме строк и чисел, есть и другие типы данных. Если вы начинающий программист и не знаете, что такое типы данных, не переживайте, об этом будет рассказано чуть позже.
Самое простое, что можно сделать с переменной, это вывести на экран ее значение.
first = "синий"second = 23print(first, second)Попробуйте запустить такую программу и посмотрите, что она выведет на экран.
Имена переменных ¶
Следует придерживаться нескольких несложных правил при выборе имен переменных:
- Имя переменной может содержать только латинские буквы, числа и символ нижнего подчеркивания;
- Имя переменной не должно содержать пробелов;
- Имя переменной не должно начинаться с цифры;
- Регистр важен: var и Var это разные переменные.
Называя переменные помните, что имена переменных не должны совпадать с ключевыми словами и наименованиями встроенных функций . Их использование в языке Python предназначено для других целей, которые нам с вами предстоит узнать позже и называть так переменные нельзя.
Python с нуля. Освойте с Виртуальным ИИ-помощником!