UnboundLocalError:局部变量' s'在分配之前引用

时间:2016-01-19 22:43:13

标签: python

我试图返回一个数字的绝对值,但是当使用一个字符串时,它会打印出“无”#。但是,我得到错误' UnboundLocalError:local variable' s'在转让之前引用'。

def absolute_value_safe(value):
    if type(value) == str:
        print ('None')
    else:
        s= abs(value)
    return s

1 个答案:

答案 0 :(得分:0)

如果条件的第一种情况触发,则未分配s,因此return s定义不明确。

确保在返回之前始终指定它:

def absolute_value_safe(value):
    if type(value) == str:
        print ('None')     # Was this even intended to be here?
        s = None
    else:
        s= abs(value)
    return s