【发布时间】:2018-11-19 19:18:46
【问题描述】:
我有一个 python 脚本作为字符串,例如:
exec("sent = {'test': 1}")
global sent
print(sent)
我使用 exec 函数执行它,然后使用global python 命令访问该变量。这种方式在不使用类的情况下没有问题,但是当我在一个类中有相同的代码时,比如:
class example:
def fun1(self):
exec("sent = {'test': 1}")
global sent
print(sent)
v = example()
print(v.fun1())
我收到以下错误:
NameError: name 'sent' is not defined
【问题讨论】:
-
尝试: exec("global sent;sent = {}") 。但尽量避免使用全局变量。
-
我无法在字符串中添加“global”,因为它太长了
-
Ghanem:你的意思是它太长了? Python 中的字符串几乎可以是任意长度。
-
这是一个数据集,有人用代码格式构建它..“虚拟方式”
标签: python python-3.x global-variables exec