1. 程式人生 > >Python-local variable 'raw_password' referenced before assignment

Python-local variable 'raw_password' referenced before assignment

str 分支 true 解決 OS 得到 __name__ -s 作用

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)

  

Python-local variable 'raw_password' referenced before assignment