Python динамическое имя переменной

3 способа преобразовать строку на имя переменной в Python

Мы будем преобразовывать строку Python в имя переменной с несколькими способами, как функция exec (), функции local () и функции глобалов ().

Вступление

Мы узнали о многих темах в 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)
  • Во-первых, мы предприняли входную строку в STR AS Pythonpool.
  • Тогда мы применили EXEC () функция.
  • Внутри EXEC () Функция, мы взяли % s и% d , которые используются в качестве заполнителя для строкового значения и десятичное значение соответственно. Это означает, что мы присваиваем целочисленное значение строки с помощью оператора назначения =. Оба% s и% d прилагаются внутрь котировок “” Отказ
  • Затем у нас есть скобки внутри, в котором мы прошли 2 вещи, то есть строка и целое число.
  • Наконец, мы напечатали входную строку и посмотрим, содержит ли строка имя переменной или нет.
  • Если программа успешно работает и печатает вывод, мы преобразовали строку в имя переменной.
  • Следовательно, вы можете увидеть вывод.
Читайте также:  Push pop peek java

2. Использование функции Locals () для преобразования строки Python в именем переменной

Функция Locals () в Python используется для возврата словаря текущего локальной таблицы символов. Локальная таблица символов доступна с помощью функции local (). Эта функция работает так же, как функция глобал (). Единственная разница между ними является функцией местных жителей (). Доступ к локальной таблице символов и глобал () Доступ к таблице глобальных символов, и оба возвращают словарь.

В этом примере мы будем принимать ввод как строку. Затем мы будем применять местные жители в качестве словаря, приведя к нему некоторое значение. Наконец, мы распечатаем входную строку и преобразуйте строку в именем переменной.

#taking input as a string str = "pythonpool" locals()[str] = 5000 print(pythonpool)
  • Во-первых, мы предприняли вход в строку как Python Pool.
  • Затем мы модифицировали значение данной строки через словарь локального слова через функцию Local ().
  • Наконец, мы напечатали входную строку и посмотрим, содержит ли строка имя переменной или нет.
  • Если программа успешно работает и печатает вывод, мы преобразовали строку в имя переменной.
  • Следовательно, вы можете увидеть вывод.

3. Использование функции Globals () для преобразования строки Python в именем переменной

Функция Globals () используется для возврата словаря текущего таблицы символов. Глобальная таблица символов используется для хранения всей информации, связанной с глобальным объемом программы, Доступ к функции глобалей ().

В этом примере мы будем принимать ввод как строку. Затем мы будем применять глобал как словарь, поместив его значение. Наконец, мы распечатаем входную строку и преобразуйте строку в именем переменной.

#taking input as a string str = "pythonpool" globals()[str] = 5000 print(pythonpool)
  • Во-первых, мы предприняли вход в строку как Python Pool.
  • Затем мы изменили значение данной строки через глобал Словарь через глобал () функции.
  • Наконец, мы напечатали входную строку и посмотрим, содержит ли строка имя переменной или нет.
  • Если программа успешно работает и печатает вывод, мы преобразовали строку в имя переменной.
  • Следовательно, вы можете увидеть вывод.

Плюсы и минусы создания глобальных переменных в Python

Плюс

  • Когда мы создаем динамические переменные, они добавляют другой уровень косвествия.
  • Это позволяет избежать большего количества дублирования кода.

Господин

  • Мы не можем создавать динамические переменные для функций.
  • Нелегко сохранить все дорожки лексических ссылок:
    • Если мы создадим произвольные имена переменной, могут возникнуть конфликты.
    • Трудно предсказать поведение и найти входы и выходы в коде.

    Должны прочитать

    • 【Как】 Проверьте, существует ли переменная в Python
    • 5 лучших способов найти длину строки Python

    Заключение

    В этом руководстве мы узнали о концепции преобразования строки на имя переменной. Мы обсудили все пути, через которые мы можем преобразовать строку в именем переменной. Все способы подробно объяснены с помощью примеров. Вы можете использовать любой из методов, которые вы находите подходящие для вас и вашей программы.

    Однако, если у вас есть какие-либо сомнения или вопросы, дайте мне знать в разделе «Комментарий» ниже. Я постараюсь помочь вам как можно скорее.

    Читайте ещё по теме:

    Источник

    Создание переменных с переменными именами в Python

    Существуют ситуации, когда может возникнуть необходимость создания переменных с динамическими именами, то есть именами, которые определяются в процессе выполнения программы. Например, при обработке больших данных, когда количество и имена переменных заранее неизвестны.

    Однако, стоит учесть, что использование такого подхода может привести к ряду проблем. Во-первых, это может затруднить отладку и чтение кода, так как не всегда очевидно, какие переменные были созданы и что они содержат. Во-вторых, это может привести к неожиданным ошибкам, если имя переменной совпадет с именем уже существующей переменной или зарезервированным словом в Python.

    Однако, если все же возникла необходимость использования такого подхода, в Python есть несколько способов реализации этой идеи.

    Способ 1. Использование словарей

    В Python словарь — это структура данных, которая позволяет хранить пары «ключ-значение». Использование словаря позволяет создавать и обращаться к переменным по их «ключам», которые могут быть динамическими.

    variables = <> variables["var1"] = 1 variables["var2"] = 2

    Способ 2. Использование функции globals()

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

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

    Вывод

    Создание переменных с переменными именами в Python возможно, но следует использовать этот подход с осторожностью. Чаще всего, решение, которое не требует создания таких переменных, будет более безопасным и понятным.

    Источник

    генерация имен переменных на лету в python

    Могу ли я сделать это в цикле или чем-то вместо того, чтобы вручную назначать price1 = prices[0] , price2 = prices[1] и т.д. Спасибо. ИЗМЕНИТЬ Многие люди предложили мне написать причину для этого. Во-первых, были времена, когда я думал, что это может быть более удобно, чем использование списка. Я не помню точно, когда, но я думаю, что я думал об использовании этого, когда есть много уровней гнездования. Например, если у вас есть список списков списков, определение переменных вышеописанным образом может помочь уменьшить уровень вложенности. Во-вторых, сегодня я думал об этом, пытаясь научиться использовать Pytables. Я просто столкнулся с Pytables, и я увидел, что при определении структуры таблицы имена и типы столбцов описываются следующим образом:

    class TableFormat(tables.IsDescription): firstColumnName = StringCol(16) secondColumnName = StringCol(16) thirdColumnName = StringCol(16) 

    Если у меня есть 100 столбцов, типичное имя каждого столбца кажется очень большим. Итак, я задавался вопросом, есть ли способ генерировать эти имена столбцов на лету.

    Это основной запах кода! Какова ваша цель здесь? Что вы собираетесь делать с «price94», когда получите его?

    Вариант использования выглядит примерно так: у вас есть код, который принимает некоторые данные и обрабатывает их, а в результате получается, например, некоторое прогнозируемое значение для Y? И вы не знаете, сколько предсказанных значений вам нужно (и t / 4, сколько назначений переменных), потому что это зависит от размера входного массива, который может варьироваться).

    Другой вариант использования, метапрограммирование. github.com/apache/incubator-airflow создает такие группы доступности базы данных, github.com/apache/incubator-airflow/blob/master/airflow/… . Если вы хотите создать восходящую или нисходящую зависимость, вы делаете это с помощью имени переменной, которое вы назначаете.

    Для будущих путешественников . после дополнительной работы с Airflow я обнаружил, что вы можете создавать эти зависимости точно так же, как и задачи, хранящиеся в диктантах или списках. На самом деле вам даже не нужно их хранить, так как вызов оператора мутирует DAG.

    Источник

    How to create dynamic variable name in Python

    A dynamic variable name, sometimes called a variable, is a variable with a name that is the estimation of another variable.
    Despite the fact that Python is a very dynamic language in which nearly everything is an object, it is possible to construct dynamic variables in Python.

    In Python, how do you make a dynamic variable name?

    This lesson will go through many techniques for naming a dynamic variable in Python.

    There are many ways of it, Let’s see the first step

    1. Create a Dynamic Variable Name in Python Using for Loop

    Iteration may be used to create a dynamic variable name in Python.

    This approach will also use the globals() function in addition to the for loop.

    Python’s globals() function returns a dictionary containing the current global symbol table.

    In Python, the for loop and the globals() function are used to construct a dynamic variable name.

    Let’s learn through an Example,

    for x in range(0, 7): globals()[f"variable1"] = f"Hello CodeSpeedy Student . " print(variable12)
    Hello CodeSpeedy Student 2.

    2. Create a Dynamic Variable Name in Python Using a Dictionary

    Dictionaries have both a key and a value, it’s simple to construct a dynamic variable name using them.

    In Python, the following code creates a dynamic variable name using a dictionary.

    var = "CodeSpeedy" val = 1 dict1 = print(dict1["CodeSpeedy"])

    However, it is possible to define a dynamic variable name in Python, it is pointless and unneeded because Python data is produced dynamically. The objects in Python are referred to throughout the code. If the item’s reference exists, the object itself exists.

    Источник

Оцените статью