我定义一个变量,名称为'Decisoin_name',并首先设置-1
然后我尝试按照类的定义进行更改
因为我每次调用def时都要加1
但是系统会向我发送一条消息
“分配前已引用本地变量'Decision_name'”
我该怎么办?
您能给我一个解决方案吗?谢谢
以下是我的代码
Decision_name = -1
class Decision_Dialog(QDialog):
def sendback(self):
Decision_name+=1
print(Decision_name)
self.close()
答案 0 :(得分:0)
您不能直接从类方法中更改全局名称,您需要事先将其声明为 global 变量:
class Decision_Dialog(QDialog):
def sendback(self):
global Decision_name
Decision_name += 1
尽管如果不必是全局变量,则可以采用其他路线,例如将其设置为类变量并让每个实例根据需要进行修改,或者通过在__init__
中进行定义将其设置为实例变量,然后进行必要的更改。
此外,您应该使用 snake_case 作为变量名,例如decision_name
。