在 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
作为输出。
相关文章
Django 中的 Slug
发布时间:2023/05/04 浏览次数:173 分类:Python
-
本篇文章旨在定义一个 slug 以及我们如何使用 slug 字段在 Python 中使用 Django 获得独特的帖子。
在 Django 中按降序过滤查询集中的项目
发布时间:2023/05/04 浏览次数:157 分类:Python
-
在这个讲解中,学习如何借助 Django 中的 order_by() 方法按降序过滤出查询集中的项目。
Django ALLOWED_HOSTS 介绍
发布时间:2023/05/04 浏览次数:181 分类:Python
-
本文展示了如何创建您的 Django 网站,为公开发布做好准备,如何设置 ALLOWED_HOSTS 以及如何在使用 Django 进行 Web 部署期间修复预期的主要问题。
Django 中的 Select_related 方法
发布时间:2023/05/04 浏览次数:129 分类:Python
-
本文介绍了什么是查询集,如何处理这些查询以及我们如何利用 select_related() 方法来过滤 Django 中相关模型的查询。
使用 Post 请求将数据发送到 Django 服务器
发布时间:2023/05/04 浏览次数:159 分类:Python
-
在这篇关于Django的讲解中,我们简要介绍了post和get请求以及如何在Django中用post实现CSRF token。
Django 返回 JSON
发布时间:2023/05/04 浏览次数:106 分类:Python
-
在与我们的讨论中,我们简要介绍了 JSON 格式,并讨论了如何借助 Django 中的 JsonResponse 类将数据返回为 JSON 格式。
在 Django 中创建对象
发布时间:2023/05/04 浏览次数:59 分类:Python
-
本文的目的是解释什么是模型以及如何使用 create() 方法创建对象,并了解如何在 Django 中使用 save() 方法。
在 Django 中为多项选择创建字段
发布时间:2023/05/04 浏览次数:75 分类:Python
-
在本文中,我们将着眼于为多项选择创建一个字段,并向您展示如何允许用户在 Django 中进行多项选择。