在 Python 中将字符串转换为变量名
在 Python 中,可以通过多种方法将字符串值转换为变量的名称。在本文中,我们将讨论实现此目标的各种方法。
有些人可能想这样做,以便在执行 Python 程序时动态定义变量名。在开发可用于生产环境的软件时,建议不要使用以下所示的方式将字符串转换为变量名,因为这可能会引起一些问题。是的,可以实现这一点,但是在执行此操作时请务必谨慎。
Python 中的 globals()
函数返回当前全局符号表的字典。全局符号表存储与程序的全局范围有关的所有信息,可以使用 globals()
函数进行访问。
user_input = input("Enter string for variable name: \n")
globals()[user_input] = 50
print(apple)
print(type(apple))
输出:
我们在这里要做的第一件事是使用 input()
函数从用户那里获取输入,并在其中传递一个字符串 Enter a string for a variable name:
。然后,无论用户输入什么值,该值都将存储在变量 user_input
中。在这里,我们希望用户输入 apple
作为字符串值,然后将其存储在 user_input
中。如果用户输入的内容不是 apple
,则程序将通过 NameError: name 'variable' is not defined
的错误提示。这是因为我们也在打印 apple
的值,然后稍后在我们的代码中检查它的类型。
如果用户输入了正确的值,我们可以使用 globals()
修改全局字典,以修改全局字典,并将任何值分配给变量 apple
。在这里,我们为变量 apple
分配了 50
。
Python 中的 locals()
函数返回当前本地符号表的字典。可以通过 locals()
函数访问本地符号表。locals()
函数的工作方式几乎与 globals()
函数相同。唯一的区别是 locals()
可以访问本地符号表,而 globals()
可以访问全局符号表并返回字典。
user_input = input("Enter string for variable name: \n")
locals()[user_input] = 50
print(apple)
print(type(apple))
输出:
此代码也与 globals()
相同。唯一的区别是我们在这里使用了 locals()
函数。
完成此操作的另一种方法是在 Python 中使用 exec()
函数。exec()
函数用于动态执行 Python 程序。我们有一个变量名称
,其中存储了一个字符串值 Elon
。
name = 'Elon'
exec("%s = %d" % (name,100))
print(Elon)
输出:
100
在 exec()
函数内部,我们有%s
和%d
分别用作字符串值和十进制值的占位符。这意味着我们将在赋值运算符 =
的帮助下为字符串赋一个整数值。%s
和%d
都包含在引号""
内。然后我们有一个括号,里面有 2 个东西,第一个是我们创建的变量,即 name
,其中包含值 Elon
,第二个是整数 100
。
在这里,将代替该变量中的值代替 name
变量。整数 100
将分配给 Elon
。Elon
成为变量名,如果你打印它,将得到 100
作为输出。
相关文章
Pandas DataFrame DataFrame.shift() 函数
发布时间:2024/04/24 浏览次数:133 分类:Python
-
DataFrame.shift() 函数是将 DataFrame 的索引按指定的周期数进行移位。
Python pandas.pivot_table() 函数
发布时间:2024/04/24 浏览次数:82 分类:Python
-
Python Pandas pivot_table()函数通过对数据进行汇总,避免了数据的重复。
Pandas read_csv()函数
发布时间:2024/04/24 浏览次数:254 分类:Python
-
Pandas read_csv()函数将指定的逗号分隔值(csv)文件读取到 DataFrame 中。
Pandas 多列合并
发布时间:2024/04/24 浏览次数:628 分类:Python
-
本教程介绍了如何在 Pandas 中使用 DataFrame.merge()方法合并两个 DataFrames。
Pandas loc vs iloc
发布时间:2024/04/24 浏览次数:837 分类:Python
-
本教程介绍了如何使用 Python 中的 loc 和 iloc 从 Pandas DataFrame 中过滤数据。
在 Python 中将 Pandas 系列的日期时间转换为字符串
发布时间:2024/04/24 浏览次数:894 分类:Python
-
了解如何在 Python 中将 Pandas 系列日期时间转换为字符串