小编Lyl*_*lax的帖子

Python - 为什么这个类变量没有在方法中定义?

我有一个python应用程序,如下所示:

global_counter = 0
connections = {}

class SocketHandler():
    currentid = 0
    def open(self):
        global global_counter
        global connections
        currentid = global_counter
        global_counter += 1
        connections[currentid] = self
        print "WebSocket " + str(currentid) + " opened"

    def on_close(self):
        global connections
        print "WebSocket " + str(currentid) + " closed"
        del connections[currentid]
Run Code Online (Sandbox Code Playgroud)

我收到错误:

NameError: global name 'currentid' is not defined
Run Code Online (Sandbox Code Playgroud)

在"打开"和"on_close"的行上,我打印我打开/关闭连接.我在课堂上定义了它,为什么不在范围内.另外,我已经读过使用全局变量很糟糕,但我没有看到解决方法.有人可以指出我应该做什么吗?谢谢.

python variables scope

7
推荐指数
2
解决办法
2万
查看次数

标签 统计

python ×1

scope ×1

variables ×1