全局关键字无效

时间:2019-09-10 23:32:13

标签: python global

我正在尝试从类内部访问模块级变量。我使用global关键字将变量定义为全局变量,但是它仍然试图正确地访问抱怨的局部变量,因此未定义局部变量。我已经尝试了各种方法,我知道如何使它引用正确的变量无济于事,而且我没有选择余地。救命!

我尝试使用global关键字(duh!)。我已经尝试过使用模块路径取消引用,但是它也不喜欢。我已经在模块,类和函数的本地级别定义了相同名称的变量,即使使用global关键字,它也只能识别本地变量。

当所有内容都在一个模块中时,它工作正常,但是当我尝试组织代码并将其放在自己的模块中时,它无法识别该变量。

# Will be a threading Condition variable, initialized from another module
__output = None

class StreamingHandler(server.BaseHTTPRequestHandler):

  def preview(self):
    global __output

    with __output.condition:
       ...

这将返回错误:name '_StreamingHandler__output' is not defined

这表明未定义局部变量,并且global关键字无效。我已经能够通过在各种范围内定义变量来验证这一点。

0 个答案:

没有答案