Python-local variable 'raw_password' referenced before assignment

where?

  执行Python程序的时候,报这个错

why?

  变量作用域问题,在分支中定义的变量,当满足条件的时候则可以正确得到变量,当不满足条件的时候则报这个错

way?

  把变量从分支中抽离到分支上面,或者在另外分支都定义这个变量,让其一直到访问都定义过

错误代码

def show_error(number):
    # 当满足这个条件的时候,result可以正确得到,当不满足时候则得不到result变量
    if number <= 10:
        result = number
    print(result)


if __name__ == '__main__':
    for i in range(20):
        show_error(i)

 

正确代码

def show_error(number):
    # 解决方案1
    result = -1
    if number <= 10:
        result = number
    # 解决方案2
    # else:
    #     result = -1
    print(result)


if __name__ == '__main__':
    for i in range(20):
        show_error(i)

 

  

 

posted @ 2018-05-17 22:26  梦_鱼  阅读(319)  评论(0编辑  收藏  举报