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

Добавил пользователь Алексей Ф.
Обновлено: 05.10.2024

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

Вступление

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

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

Несколько способов с примерами для преобразования строки Python в именем переменной

Затем мы обсудим, как мы можем преобразовать строку в название переменной с примерами, подробно описанными.

1. Использование метода EXEC () в Python для преобразования строки Python в именем переменной

Методы EXEC () помогают нам динамически выполнять программу Python.

В этом примере у нас будет переменная, названная нами и входной строкой. Затем мы будем применять EXEC () Способ с некоторыми модификаторами и попытка преобразовать строку в имя переменной. Давайте подробно посмотрим с помощью примера, объясненной ниже:

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

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

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

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

  • Во-первых, мы предприняли вход в строку как Python Pool.
  • Затем мы модифицировали значение данной строки через словарь локального слова через функцию Local ().
  • Наконец, мы напечатали входную строку и посмотрим, содержит ли строка имя переменной или нет.
  • Если программа успешно работает и печатает вывод, мы преобразовали строку в имя переменной.
  • Следовательно, вы можете увидеть вывод.

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

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

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

  • Во-первых, мы предприняли вход в строку как Python Pool.
  • Затем мы изменили значение данной строки через глобал Словарь через глобал () функции.
  • Наконец, мы напечатали входную строку и посмотрим, содержит ли строка имя переменной или нет.
  • Если программа успешно работает и печатает вывод, мы преобразовали строку в имя переменной.
  • Следовательно, вы можете увидеть вывод.

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

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

Господин

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

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

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

    Заключение

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

    У меня есть переменная с именем $ repeater, которая будет низкой, средней или высокой.

    У меня также есть переменные под названием …

    Я хочу вызвать одну из этих переменных в зависимости от значения $ repeat.

    Я дошел до этого …

    …который выводит умеренный_протеин_фид, например. Но он отображается как текст, когда я хочу, чтобы он отображал значение переменной $ среднее_protein_feed.

    Я чувствую, что я не за горами.
    Спасибо за любой вклад

    Решение

    позвольте мне предложить альтернативный подход, который, по мнению большинства разработчиков, лучше, чем использование переменных переменных:

    Другие решения

    для вашего случая:

    Я думаю, что вы хотите сделать что-то вроде этого:

    Тем не менее, вы должны действительно использовать что-то вроде этого:

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

    Далее читаем об именах динамических переменных здесь и различиях между PHP5 / 7:

    Есть функция которая считывает ini файл и создает элементы GUICtrlCreateCheckbox
    так вот каждый из них как бы должен быть в переменной, ну типа:
    $var = GUICtrlCreateCheckbox("текст", 20, 20)
    а как сделать чтоб вместо $var было значение переменной $IniSections[$i]

    ynbIpb

    Скриптер


    хотя неее. наверное не то. тебе нужно чтоб все твои контролы были в одном массиве? я во одно своём скрипте делал так:

    kaster

    Мой Аватар, он лучший самый

    CreatoR

    Must AutoIt!

    Хотя это будет считаться “неграммотным” кодингом ;)

    Anton

    Твори! Пусть завистники твои захлебываются пылью!

    CreatoR

    Must AutoIt!

    Потому что динамические переменные сложно отслеживать (нужно всё время проверять переменные), повышается риск сбоя в скрипте. Лучше объявить массив который и будет содержать идентификаторы элементов.

    Kinex

    Новичок

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

    Знающий

    Вопрос у меня полностью соответствует теме, но решение своего вопроса я в ней не нашел. :(
    Имею ini файл, но он не соответствует структуре "стандартного" ini файла и привести его в нужное состояние сложно. Мне удается из него считать нужные мне параметры, но как их использовать ума не приложу.
    У меня получается:
    $lineP[1] - содержит, например, modecomp, часть имени будущей переменной без лидирующего символа $
    $lineP[2] - содержит, например, LZMA, значение этой переменной

    Требуется выполнить следующее:
    $modecomp = LZMA

    т.е. создать новую переменную с именем $ modecomp и присвоить ей значение LZMA.

    Осваивайте профессию, начните зарабатывать, а платите через год!


    Курсы Python Ак­ция! Бес­плат­но!


    Станьте хакером на Python за 3 дня


    Веб-вёрстка. CSS, HTML и JavaScript



    Курс Bootstrap 4


    Станьте веб-разработчиком с нуля

    Переменная - это поименованная область памяти, хранящая данные. Как и в любом языке программирования, переменные JavaScript похожи на контейнера. Этим контейнерам можно присваивать имена и впоследствии использовать их для извлечения и изменения хранимых данных.

    Объявление переменных

    Прежде чем использовать переменную в JavaScript, ее необходимо объявить. Для объявления или, другими словами, создания переменной используется ключевое слово var (от variable — переменная):

    Переменной, объявляемой с помощью ключевого слова var , можно присвоить начальное значение (это называется инициализацией переменной):

    Значение переменной сохраняется в соответствующей области памяти и в дальнейшем доступ к нему осуществляется при обращении по имени. Если же переменную не инициализировать, то ее начальное значение остается неопределенным undefined :

    При желании можно объявить сразу несколько переменных, разделив их запятыми:

    JavaScript – это нетипизированный язык. Это означает, что переменная JavaScript может содержать значение любого типа, в отличие от Java- или C-переменной, в которой может содержаться только определенный тип данных, заданный при ее объявлении.
    Так, в JavaScript можно присвоить переменной число, а затем присвоить той же переменной строку. Тип значения переменной может меняться во время выполнения программы, и JavaScript позаботится об этом автоматически.

    Значение в переменной можно изменять сколько угодно раз:

    При объявлении можно инициализировать переменную, а затем скопировать значение переменной в новую переменную.

    Когда одна переменная с примитивным значением присваивается другой, создается копия значения, хранящегося в ячейке памяти, а затем она записы­вается по адресу другой переменной, например:

    Здесь msg1 содержит строковое значение "Строка". Когда переменная msg2 инициализируется значе­нием переменной msg1 , она также получает значение "Строка". ТОеперь переменная msg2 никак не связана с msg1 , потому что содержит копию значения.
    В дальнейшем эти переменные можно использовать по отдель­ности без побочных эффектов для скрипта.

    Имена переменных

    • буква в верхнем или нижнем регистре;
    • символ подчеркивания _ ;
    • знак доллара $ .

    Вслед за первым символом имени переменной можно использовать последовательность букв, цифр и символа подчеркивания без пробелов и знаков препинания. Поскольку JavaScript чувствителен к регистру, буквы включают символы от "A" до "Z" (верхний регистр) и символы от "a" до "z" (нижний регистр). Вы можете использовать буквы ISO 8859-1 или Unicode, например, å или ü.

    Примеры правильных имен переменных:

    Примеры неправильных имен переменных:

    При выборе имен переменных нельзя использовать ключевые слова, то есть слова, используемые в определениях конструкций языка. Например, нельзя выбирать слова var , return , class , const , true , false , function , super , switch и ряд других.

    Например, следующий сценарий выдаст синтаксическую ошибку:

    Имя переменной должно быть понятным и максимально чётко соответствовать хранимым в ней данным.

    Область видимости переменной

    Как и в других языках программирования, в JavaScript существуют локальные и глобальные переменные. Ключевую роль здесь играет понятие области видимости переменной. Область видимости (scope) переменной - это та часть программы, для которой эта переменная определена.

    • Глобальные переменные имеют глобальную область видимости – они могут использоваться в любом месте программы, а также в вызываемых программах из других файлов.
    • Локальные переменные имеют локальную область видимости — это переменные, определенные только в коде функции с помощью ключевого слова var либо только в рамках блока , в котором объявлена переменная с помощью ключевого слова let .

    Внутри тела функции локальная переменная имеет преимущество перед глобальной переменной с тем же именем:

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

    В строгом режиме "use strict" так делать уже не допускается:

    Примечание: Подробнее об области видимости переменной мы поговорим, когда будем рассматривать функции.

    В ES-2015 предусмотрен новый способ объявления переменных: через let . Областью видимости переменных, объявленных ключевым словом let , является блок, в котором они объявлены. В этом работа оператора let схожа с работой оператора var . Основным отличием является то, что переменная, объявленная через var , видна везде в функции. Переменная, объявленная через let , видна только в рамках блока <. >, в котором объявлена:

    На заметку: В коде лучше использовать локальные переменные, а не глобаль­ные потому, что ограничение области видимости снижает вероятность того, что значение такой переменной будет случайно заменено значением дру­гой переменной с тем же именем.

    Константы

    Константа – это переменная, которая никогда не изменяется. Вы можете создать именованную константу, доступную только для чтения, используя ключевое слово const . Как правило, имена констант пишутся буквами в верхнем регистре, через подчёркивание. В остальном синтаксис идентификатора константы является таким же, как и у идентификатора обычной переменной.

    Имена констант не должны совпадать с именами переменных, объявленных в той же области видимости, например, следующий сценарий выдаст синтаксическую ошибку:

    Читайте также: