因此,我将这段代码放在一个函数内部形成并编译字符串的内部。输出传递到另一个函数,该函数然后执行字符串中的代码。
问题在于,尽管如果我尝试使用该变量(例如将其添加到其他变量中),该变量会显示为局部变量,但会引发一个错误,提示未定义该变量的全局名称。
代码看起来像这样:
def declare():
a=compile('b=3+1','<string>','exec')
return a
def run(code):
exec(code)
c=b+1
return c
我尝试在run()内声明变量b,但给出相同的错误。
关于如何使用在exec()内部修改的变量的任何想法?