我定期在程序中声明自变量:
def __init__(self):
self.x = dict()
稍后在我的代码(第一个被调用的函数)中,我为self.x分配了一个值。 但是后来当我尝试在以后的函数中实际使用self.x时,self.x打印出{}。即使我确定我正确分配它并且我的数据是合理的。
这里有一个蟒蛇菜鸟,有什么我可能会失踪的吗?我是否应该将这些变量声明为全局变量,因为我可能会以编写程序的方式丢失范围?
由于
答案 0 :(得分:0)
如果没有看到你的其他代码就很难回答你的问题(当你提供更多信息时我会编辑这篇文章),但也许我可以让你深入了解可能出现的问题。您的函数应该类似于下面类中显示的函数:
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'}