• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

UnboundLocalError에러에 대한 질문입니다.

21.01.17 11:57 작성 조회수 83

1

이미 올라온 질문에 대한 선생님의 링크를 보았습니다.

그리고 이해를 해보았는데 제가 이해한게 맞는지 확인하고 싶어서 질문 드립니다.

def func_v3(a):   

    print(a)

    print(c)

    c = 40

수업시간의 예제입니다.

제가 이해한 바로는

함수가 실행되기 전에 파이썬은 func_v3 함수를 해석하여 c 를 로컬변수(로컬 네임스페이스)로 생각을 한다.

그리고 함수를 실행하는데 print(c) 차례에서 c가 아직 정의되지 않은 상태이기 때문에 UnboundLocalError가 생긴다

그래서 global 키워드를 사용해서 print(c) 이전에 전역변수임을 명시적으로 알려줘야 한다!

 이렇게 결론을 내렸는데 맞는건가요?

항상 좋은 강의 감사드립니다.

답변 1

답변을 작성해보세요.

1

네네 맞습니다.

변수의 스코프는 항상 지역 -> 전역 순으로 찾아간다고 생각하시면 됩니다.