python - 使用字符串作为名称创建对象

标签 python

是否可以创建一个由字符串指定对象名称的对象

例如

create_object(QtGui.QLineEdit, 'myname')
myname.setText = 'created!'

那就是

create_object(QtGui.QLineEdit, 'myname')

等于

myname = QtGui.QLineEdit(self)

最佳答案

要创建局部变量,您可以使用 globals() 函数获取全局变量的字典。示例-

gbl = globals()
gbl['myname'] = QtGui.QLineEdit
gbl['test'] = 1234
test
>> 1234

对于具有 locals() 函数的局部变量,该函数返回局部变量的字典(局部命名空间的副本),您可以使用它来设置变量,仅当您位于函数外部并直接位于脚本部分中,但设置为 locals() 提供的字典在函数内部不起作用(您将无法访问该变量,即使在该函数中),当在函数之外使用它时,它与 globals() 具有完全相同的效果。

关于python - 使用字符串作为名称创建对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30966015/

相关文章:

python - 如果一组值为空,则删除行

python - 需要将整个列从字符串格式转换为 Dataframe 的日期格式

python - 如何在 Linux 中解密 Chrome cookie 文件?

Python - 确保变量保持正数

python - 删除与另一个 CSV 中的行相同的行

python - 尝试并捕获插入Python?

python - 搜索 Python 字典键

python - 运行时错误 : To use MKL 2018 with Theano you MUST set "MKL_THREADING_LAYER=GNU"

python - 在多维空间中将多个子矩阵 reshape /组合为一个矩阵

python - 如何生成嘈杂的模拟时间序列或信号(在 Python 中)