我定期在我的程序中声明自变量:
def __init__(self):
self.x = dict()
稍后在我的代码(调用的第一个函数)中,我为 self.x 分配了一个值。但是后来当我尝试在以后的函数中实际使用 self.x 时,self.x 打印为 {}。即使我确定我分配正确并且我的数据是正确的。
这里有点python noob,有什么我可能遗漏的吗?我是否应该将这些变量声明为全局变量,因为我的程序编写方式可能会丢失范围?
谢谢
如果没有看到您的其余代码,很难回答您的问题(当您提供更多信息时,我将编辑这篇文章),但也许我可以让您深入了解可能是什么问题。您的函数应该类似于下面类中所示的函数:
class Foo:
def __init__(self):
self.x = dict()
def add(self):
self.x[1] = 'a' # add something to our dict
def redefine(self):
self.x = {2:'b', 3:'c'} # reassign our dict
所以要看到一切都井井有条:
foo = Foo()
print foo.x
foo.add()
print foo.x
foo.redefine()
print foo.x
输出:
{}
{1: 'a'}
{2: 'b', 3: 'c'}