自变量没有存储在python中?

2024-04-25 22:28:46 发布

您现在位置:Python中文网/ 问答频道 /正文

我经常在程序中声明自变量:

def __init__(self):
    self.x = dict()

后来在我的代码中(第一个被调用的函数),我给self.x赋值。 然而,后来当我试图在以后的函数中实际使用self.x时,self.x会输出为{}。尽管我确信我的分配是正确的,而且我的数据是可靠的。在

有点像Python怪,有什么我可能遗漏的吗?我是否应该将这些变量声明为全局变量,因为我可能在编写程序的过程中失去了作用域?在

谢谢


Tags: 数据函数代码self程序声明init过程
1条回答
网友
1楼 · 发布于 2024-04-25 22:28:46

在没有看到其他代码的情况下很难回答您的问题(当您提供更多信息时,我会编辑这篇文章),但是也许我可以让您深入了解问题所在。您的类中的函数可能应该与下面显示的类似:

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

为了确保一切井然有序:

^{pr2}$

输出:

{}
{1: 'a'}
{2: 'b', 3: 'c'}

相关问题 更多 >