自身变量未存储在python中?
我定期在程序中声明自变量:自身变量未存储在python中?,python,variables,global,self,Python,Variables,Global,Self,我定期在程序中声明自变量: def __init__(self): self.x = dict() 后来在我的代码(调用的第一个函数)中,我给self.x赋值。 然而,稍后当我尝试在后面的函数中实际使用self.x时,self.x打印为{}。即使我确信我分配的是正确的,并且我的数据是可靠的 这里有点像python noob,有什么我可能遗漏的吗?我是否应该将这些变量声明为全局变量,因为我的程序编写方式可能正在失去作用域 谢谢如果没有看到代码的其余部分,很难回答您的问题(当您提供更多信息
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'}
dict()与{}是一回事。有什么问题吗?
dict()
相当于{}
dict()
实例化一个空字典,空字典的字面形式是{}
。一切似乎都按照您的预期运行。您能否显示“为self.x
”分配值”的功能?发布完整的最小代码,并显示预期和实际结果