- 3 способа преобразовать строку на имя переменной в Python
- Вступление
- Несколько способов с примерами для преобразования строки Python в именем переменной
- 1. Использование метода EXEC () в Python для преобразования строки Python в именем переменной
- 2. Использование функции Locals () для преобразования строки Python в именем переменной
- 3. Использование функции Globals () для преобразования строки Python в именем переменной
- Плюсы и минусы создания глобальных переменных в Python
- Плюс
- Господин
- Должны прочитать
- Заключение
- Читайте ещё по теме:
- Re: python: название переменной в виде строки
- Re: python: название переменной в виде строки
- Re: python: название переменной в виде строки
- Re: python: название переменной в виде строки
- список переменных
- Как получить строковые имена переменных в python и несколько трюков с matplotlibe
- Как получить строкове значение имени функции в python
- Как удалить линии сетки в [matplotlibe]
- Как задать размеры изображения для subplots в matplotlib
- Как создать анотированную матрицу в matplotlib
- Как получить имя переменной в Python во время выполнения?
- 8 ответов
- 3 способа преобразовать строку в имя переменной в Python
- Введение
- Использование метода exec()
- Использование функции Locals()
- Использование функции globals()
- Видеоурок
- Заключение
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 вещи, то есть строка и целое число.
- Наконец, мы напечатали входную строку и посмотрим, содержит ли строка имя переменной или нет.
- Если программа успешно работает и печатает вывод, мы преобразовали строку в имя переменной.
- Следовательно, вы можете увидеть вывод.
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
Заключение
В этом руководстве мы узнали о концепции преобразования строки на имя переменной. Мы обсудили все пути, через которые мы можем преобразовать строку в именем переменной. Все способы подробно объяснены с помощью примеров. Вы можете использовать любой из методов, которые вы находите подходящие для вас и вашей программы.
Однако, если у вас есть какие-либо сомнения или вопросы, дайте мне знать в разделе «Комментарий» ниже. Я постараюсь помочь вам как можно скорее.
Читайте ещё по теме:
Re: python: название переменной в виде строки
Имя имеет ссылка. На каждую переменную может быть несколько ссылок, поэтому нет однозначной связи между переменной и именем.
Re: python: название переменной в виде строки
А нельзя ли как-нибудь «выдрать» название переменной, например, из locals(); там оно хранится в виде строки (и как-то в эту строку транслируется). Получается, что по названию переменной можно определить её значение, а наоборот — нет?
Re: python: название переменной в виде строки
А зачем вам это нужно? Объясните задачу, может быть можно решить её по другому? > А нельзя ли как-нибудь "выдрать" название переменной, например, из locals(); locals() возвращает словарь, где ключи - имена переменных. Выдрать можно, например, так: for name,value in locals().items(): if value is x: print name Результат может быть не единственным, если на это значение есть несколько ссылок. Ну и эффективность, конечно же, не та.
Re: python: название переменной в виде строки
>А зачем вам это нужно? 1. Конкретная задача: есть список переменных, значения которых нужно отобразить в полях формы. Причём название поля = название переменной. 2. Интересно :) >может быть можно решить её по другому? да, конечно, на данный момент я делаю примерно так: for entry, value in (("x", x), ("y", y), ("z", z)): gui.get_widget (entry).set_text (value)
список переменных
> 1. Конкретная задача: есть список переменных, значения которых нужно отобразить в полях формы. Причём название поля = название переменной.
А зачем их делать отдельными переменными? Поместите их все в словарь.
Как получить строковые имена переменных в python и несколько трюков с matplotlibe
Вернуть строкове имя конкретной переменной не получится. так как на один и тот же объект может ссылаться несколько переменных. Но можно вернуть все переменные для конкретного объета. В данном примере две разные переменные ссылаются на два разных объекта (которые под капотом python на самом деле один объект):
import inspect x = 1 y = 1 def retrieve_name(var): callers_local_vars = inspect.currentframe().f_back.f_locals.items() return [var_name for var_name, var_val in callers_local_vars if var_val is var] print(retrieve_name(y)) ['x', 'y']
Как получить строкове значение имени функции в python
__name__ работает с build in функциями. func_name нет
>>> import time >>> time.time.func_name Traceback (most recent call last): File "", line 1, in ? AttributeError: 'builtin_function_or_method' object has no attribute 'func_name' >>> time.time.__name__ 'time'
Как удалить линии сетки в [matplotlibe]
в ряде случаев, если создана сетка, может потребоваться проитерирвоать
for i in range(4): for j in range(3): axs[i, j].grid(None)
%matplotlib inline from matplotlib import pyplot as plt plt.rcParams["axes.grid"] = False
Как задать размеры изображения для subplots в matplotlib
fig, axs = plt.subplots(nrows=3, ncols=3) fig.set_figheight(25) fig.set_figwidth(25)
Как создать анотированную матрицу в matplotlib
Вот подробный гайд на эту тему. Если совсем лень, можно использовать seaborn.heatmap
Как получить имя переменной в Python во время выполнения?
Есть ли способ узнать во время выполнения имя переменной (из кода)? Или имена переменных, забытые во время компиляции (байт-код или нет)? например:
>>> vari = 15 >>> print vari.~~name~~() 'vari'
Да, хорошо, это было 3 года назад, и я не помню, почему этот вопрос имел смысл. Но вот! это чрезвычайно популярно, так что есть что-то об этом.
Вот пример использования: есть переменные foo, bar, baz, я хочу получить словарь точно так же, как <'foo': foo, 'bar': bar, 'baz': baz>. Конечно, я могу напечатать как то, что я только что сделал, но не очень лаконично. locals() , на мой взгляд, передают слишком много информации, не идеально. То, что я ожидаю, это функция вроде magic_func([foo,bar,baz]) которая возвращает magic_func([foo,bar,baz]) мне словарь'foo':>
8 ответов
здесь базовая (может быть, странная) функция, которая показывает имя своего аргумента. идея заключается в анализе кода и поиске вызовов функции (добавленной в методе init, это могло бы помочь найти имя экземпляра, хотя с более сложным анализом кода)
def display(var): import inspect, re callingframe = inspect.currentframe().f_back cntext = "".join(inspect.getframeinfo(callingframe, 5)[3]) #gets 5 lines m = re.search("display\s+\(\s+(\w+)\s+\)", cntext, re.MULTILINE) print m.group(1), type(var), var
обратите внимание: получение нескольких строк из вызывающего кода помогает в том случае, если вызов был разделен, как в приведенном ниже примере:
но приведет к неожиданному результату:
display(first_var) display(second_var)
Если у вас нет контроля над форматом вашего проекта, вы все равно можете улучшить код для обнаружения и управления различными ситуациями.
В целом я предполагаю, что статический анализ кода может дать более надежный результат, но я слишком ленив, чтобы проверить его сейчас
3 способа преобразовать строку в имя переменной в Python
Статьи
Введение
В ходе статьи рассмотрим 3 способа преобразовать строку в имя переменной в языке программирования Python.
Использование метода exec()
В первом способе для преобразования строки в имя переменной мы будем использовать метод exec(). Создадим переменную, в которой будет храниться название будущей переменной:
Теперь строку “IT_Start” превратим в название переменной и присвоим какое-либо значение:
test_str = "IT_Start" exec("%s = %d" % (test_str, 10))
Внутри функции exec() мы использовали форматирование %s и %d. Таким образом мы присвоили целочисленное значение строке.
test_str = "IT_Start" exec("%s = %d" % (test_str, 10)) print(f'Итог: ') # Вывод: 10
Использование функции Locals()
Сама функция locals() возвращает словарь текущей локальной таблицы символов. В него входит наша переменная, в которой хранится строка, которую мы хотим преобразовать в переменную. Преобразуем строку в переменную:
test_str = "IT_Start" locals()[test_str] = 20 print(IT_Start) # Вывод: 20
Использование функции globals()
Функция globals() возвращает словарь текущей таблицы символов. Синтаксис точно такой же, как и в предыдущем способе, просто вместо locals() используется globals():
test_str = "IT_Start" globals()[test_str] = 30 print(IT_Start) # Вывод: 30
Видеоурок
Заключение
В ходе статьи мы с Вами разобрали три способа преобразовать строку в имя переменной в Python. Надеюсь Вам понравилась статья, желаю удачи и успехов! 🙂