Перейти к содержимому

Как автоматически создавать переменные в python

  • автор:

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

Могу ли я сделать это в цикле или чем-то вместо того, чтобы вручную назначать price1 = prices[0] , price2 = prices[1] и т.д.

ИЗМЕНИТЬ

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

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

Как сделать чтоб программа автоматически создавала переменные в Python?

И так. Всем привет. Сразу к вопросу.
И так есть функция create_input(name, input). Name это имя переменной, а input это фраза (типо myvar = input(«You are a boy? <- это сам аргумент input»)). Программа должна создать такой input, но с данными, которые введёт пользователь.
Был такой код:

Я пробовал, вроде работает, но он вместо You are a boy пишет: built-in function input и просит ввести что-то, и пишет в консоли myvar и built-in function input вместо You are a boy? Как это исправить? И сделать чтобы выводит не You are a boy? А сам ответ к примеру Yes, как то так, спасибо заранее)

Вопрос Автоматическое создание переменных в python

В Python нет такой возможности создавать переменные автоматически. Вы должны явно указывать имена переменных и присваивать им значения.

Однако, в Python есть динамическая типизация, то есть вы можете создавать переменные и присваивать им значения во время выполнения программы. Например, вы можете написать такой код:
var = input(&#34;Введите первое число: &#34
var1 = input(&#34;Введите второе число: &#34

print(&#34;Первое число:&#34;, var)
print(&#34;Второе число:&#34;, var1)
Этот код запрашивает у пользователя ввод двух чисел и печатает их на экране. Переменные var и var1 создаются автоматически при выполнении программы и принимают значения, введенные пользователем.

How can you dynamically create variables? [duplicate]

I want to create variables dynamically in Python. Does anyone have any creative means of doing this?

mkrieger1's user avatar

8 Answers 8

Unless there is an overwhelming need to create a mess of variable names, I would just use a dictionary, where you can dynamically create the key names and associate a value to each.

There are also some interesting data structures in the collections module that might be applicable.

globals() returns a dictionary of the module’s variables. You can create a new variable by creating a key on that dictionary:

Use the exec() method to run arbitrary code. For example, say you have a dictionary and you want to turn each key into a variable with its original dictionary value, you can do the following:

Stuffing things into the global and/or local namespaces is not a good idea. Using a dict is so some-other-language-ish . d[‘constant-key’] = value just looks awkward. Python is OO. In the words of a master: «»»Namespaces are one honking great idea — let’s do more of those!»»»

Hack-R's user avatar

Pjl's user avatar

Keyword parameters allow you to pass variables from one function to another. In this way you can use the key of a dictionary as a variable name (which can be populated in your while loop). The dictionary name just needs to be preceded by ** when it is called.

Without ** , kwargs is just a dictionary:

NOTE: This should be considered a discussion rather than an actual answer.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *