我的全局变量不能更改类的定义

2024-09-30 18:24:48 发布

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

我首先定义了一个变量,名为'Decisoin_name',并设置-1

我试着在一个类的def中修改它

因为我想每次调用def时都添加1

但是系统给我发了一条信息

"local variable 'Decision_name' referenced before assignment"

我能做什么

你能给我一个解决办法吗?多谢各位

下面是我的代码

Decision_name = -1

class Decision_Dialog(QDialog):

    def sendback(self):

        Decision_name+=1

        print(Decision_name)

        self.close()

Tags: nameself信息定义local系统defvariable
1条回答
网友
1楼 · 发布于 2024-09-30 18:24:48

不能直接从类方法更改全局名称,需要事先将其声明为全局变量:

class Decision_Dialog(QDialog):
    def sendback(self):
        global Decision_name
        Decision_name += 1

虽然如果它不需要是全局变量,但您可以采取不同的方法,例如,将其设置为类变量,让每个实例根据需要进行修改,或者通过在__init__中定义将其设置为实例变量,然后进行必要的更改

另外,您应该使用snake\u case作为变量名,例如decision_name

相关问题 更多 >