UnboundLocalError μλ¬μ μμΈ μ²λ¦¬ λ°©λ²
UnboundLocalError
λ μ§μ λ³μ(Local variable)λ₯Ό μ°Έμ‘°νλ €κ³ νμΌλ, ν΄λΉ λ³μκ° μμ§ ν λΉλμ§ μμ κ²½μ°μ λ°μνλ μμΈμ
λλ€.
νμ΄μ¬μμ ν¨μ λ΄λΆμμ μ μΈλ λ³μλ
μ§μ λ³μ
λ‘ κ°μ£Όλ©λλ€. ν¨μ μΈλΆμ κ°μ μ΄λ¦μ λ³μκ° μ μΈλμ΄ μμ΄λ ν¨μ λ΄λΆμμ λ³μλ₯Ό μ°Έμ‘°ν λλ μ§μ λ³μλ‘ κ°μ£Όλ©λλ€.
counter = 0 # μ μ λ³μ def increase_counter(): # UnboundLocalError λ°μ counter += 1 return counter print(increase_counter())
μ μ½λ μμμμ ν¨μ μΈλΆμ μ μΈλ counter
μ μ(Global) λ³μμ increase_counter
ν¨μ λ΄λΆμ counter
μ§μ(Local) λ³μλ μλ‘ λ€λ₯Έ λ³μλ‘ μΈμλ©λλ€.
λ°λΌμ ν¨μ λ΄λΆμμ counter
λ³μλ₯Ό μ°Έμ‘°νλ €κ³ νλ©΄, ν΄λΉ λ³μκ° μμ§ ν λΉλμ§ μμκΈ° λλ¬Έμ UnboundLocalError
μμΈκ° λ°μν©λλ€.
μ μμμμ counter
λ³μλ₯Ό μ μ λ³μλ‘ μ¬μ©νλ €λ©΄ global
ν€μλλ₯Ό μ¬μ©ν΄μΌ ν©λλ€.
counter = 0 # μ μ λ³μ def increase_counter(): # μ μ λ³μλ‘ μ¬μ© global counter counter += 1 return counter print(increase_counter())
μ μ½λμμ increase_counter
ν¨μ λ΄ counter
λ³μλ₯Ό μ μ λ³μλ‘ μ¬μ©νκΈ° μν΄ global
ν€μλλ₯Ό μ¬μ©νμ΅λλ€.
UnboundLocalError μμΈλ₯Ό μ²λ¦¬νλ €λ©΄ μ΄λ»κ² ν΄μΌ ν κΉμ?
κ°μ₯ μΌλ°μ μΈ λ°©λ²μΌλ‘λ try-except
λ¬Έμ μ¬μ©ν΄ UnboundLocalError
μμΈλ₯Ό μ²λ¦¬ν μ μμ΅λλ€.
counter = 0 # μ μ λ³μ def increase_counter(): try: counter += 1 except UnboundLocalError as e: print(f'UnboundLocalError λ°μ: {e}') return counter print(increase_counter())
μ μ½λμμ increase_counter
ν¨μ λ΄λΆμμ counter
λ³μλ₯Ό μ°Έμ‘°ν λ UnboundLocalError
μμΈκ° λ°μνλ©΄, except
λΈλ‘μμ μμΈλ₯Ό μ²λ¦¬νκ³ λ©μμ§λ₯Ό μΆλ ₯ν©λλ€.
UnboundLocalError
μμΈλ μ£Όλ‘ μ μ λ³μμ μ§μ λ³μλ₯Ό νΌλνμ¬ λ°μνλ κ²½μ°κ° λ§μΌλ―λ‘, ν¨μ λ΄λΆμμ λ³μλ₯Ό μ°Έμ‘°ν λ μ£Όμν΄μΌ ν©λλ€.
UnboundLocalErrorλ ν¨μ λ΄λΆμμ μ΄κΈ°νλμ§ μμ μ§μ λ³μλ₯Ό μ°Έμ‘°ν λ λ°μνλ€.
Guidelines
AI Tutor
Publish
Design
Upload
Notes
Favorites
Help
Code Editor
Execution Result