全局变量在函数调用自身时丢失



我需要添加一个变量"a"到全局变量,并且能够随时从Item类中恢复它。结果:我无法在全局变量中看到它

下面有一个例子。当我打印globals()时,我找不到新的"a"变量。

具体来说,我需要能够将printVal结果保存在一个名为"a"的变量中,以便在下次调用该函数时查阅。

在我的最后一个程序中,我计划添加尽可能多的不同变量(变量和值)。

的例子:

class Item():
def printVal(self,value):
return value
def func(self):
userInput = input("Input string:")
if userInput!="0":
exec("a=self.printVal(""+userInput+"")",globals(),locals())
else:
return
print(globals())
self.func()
if __name__ == "__main__":
item = Item()
item.func()

如果你只是想设置一个全局变量,并在运行时生成一个名称,你可以这样做:

globals()[name] = val

顺便说一下,printVal方法是假的。

相关内容

  • 没有找到相关文章

最新更新