Как сделать имя переменной из значения другой переменной
Мы будем преобразовывать строку 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 . Как правило, имена констант пишутся буквами в верхнем регистре, через подчёркивание. В остальном синтаксис идентификатора константы является таким же, как и у идентификатора обычной переменной.
Имена констант не должны совпадать с именами переменных, объявленных в той же области видимости, например, следующий сценарий выдаст синтаксическую ошибку:
Читайте также: