全局名称 'q' 未定义 - Python

Global Name 'q' not Defined - Python

我有一个像这样的程序:

class ABC:

    q = {}

    def update:
        self.state = (xx,xx)
        global q
        if self.state in q:
            // do something

我遇到错误:

"NameError: global name 'q' is not defined"

我是 python 的新手,需要一些帮助。

q 未在此处声明为全局变量 - 它被声明为 class ABC.

的 class 变量

如果您希望 q 是全局的,您应该在开始声明 class 之前定义它。

您可以将 q 移出 class:

q = {}

class ABC: 

    def update:
        self.state = (xx,xx)
        global q
        if self.state in q:
            # do something
            pass

或者您可以将 q 作为 class 变量引用:

class ABC:

    q = {}

    def update:
        self.state = (xx,xx)
        if self.state in ABC.q:
                # do something
                pass