【问题标题】:Python 3: Local variable 'xyz' value is not used warning in PyCharmPython 3:PyCharm 中未使用局部变量“xyz”值警告
【发布时间】:2019-06-06 13:51:47
【问题描述】:

这是我的代码 sn-p:

def my_function(x, y):
    ...
    xyz = 0
    try:
       do_something
       xyz = 1
    except (SomeException) as e:
       do_somethingelse
       if condition A happens:
           xyz = 2
       else:
           xyz = 0

    if xyz == 0:
       print("Case 1 happened")
    elif xyz == 1:
       print("Case 2 happened")
    else:
       print("Case 3 happened")

    return xyz

因此,尽管我使用 xyz 甚至将其用作返回参数,但我在 PyCharm 中收到一条警告消息,内容为:Local variable 'xyz' value is not used。这是什么原因,我该如何解决这个警告?

【问题讨论】:

    标签: python-3.x pycharm warnings local-variables


    【解决方案1】:

    第一个xyz = 0 可以省略,因为在下一个代码块中,您正在重新定义它的值。

    要么按预期进行,要么将xyz 设置为1

    try:
           do_something
           xyz = 1
    
    

    否则它将捕获异常并将其设置为20

    except (SomeException) as e:
        do_somethingelse
        if condition A happens:
           xyz = 2
        else:
           xyz = 0
    
    

    【讨论】:

    • 感谢您的回答。如果出现异常,但未在我监控的异常列表中列出,会发生什么情况?比如是SomeOtherException而不是SomeException?
    • 在这种情况下,执行将停止(因为SomeOtherException 不受您的代码控制)并且xyz 值将不相关
    • 但是我不希望执行停止,我如何处理我没有列出的其他异常?
    • 您可以添加不受控制的异常,例如 except (SomeException, SomeOtherException) as e 或添加更多 except 子句。
    猜你喜欢
    • 2012-08-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-02
    相关资源
    最近更新 更多