【问题标题】:(Python) name 'curr' is not defined [closed](Python)名称'curr'未定义[关闭]
【发布时间】:2021-05-04 20:50:46
【问题描述】:
@socketio.on('disconnect')
def disconnect_details():
    for room_num in room_users_counter:
        curr = 0
        expected_num = room_users_counter[room_num]
        emit(f"{room_num}$attendance", broadcast=True, include_self=False)
        @socketio.on("here")
        def here(_room_num):
            global curr
         
            if _room_num == room_num:
                curr +=1

错误:

line 246, in here
    curr +=1
NameError: name 'curr' is not defined

当我在顶部说curr = 0 定义时,我不知道为什么它未定义

【问题讨论】:

    标签: python flask error-handling


    【解决方案1】:

    您需要nonlocal,而不是global,因为curr 是局部变量(disconnect_details 的局部变量),而不是全局变量。

    def here(_room_num):
        nonlocal curr
         
        if _room_num == room_num:
            curr += 1
    

    【讨论】:

      猜你喜欢
      • 2023-03-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-11
      • 2021-08-23
      • 2019-12-18
      • 1970-01-01
      相关资源
      最近更新 更多