Scope

변수 선언이 어디까지 valid한지를 결정하는 것이다. ⭐

📌 3가지 변수 타입이 존재한다.

  1. local variable : 해당 block안에서 정의된 변수
  2. nonlocal variable : 해당 block안에서 정의되지는 않았지만 visible한 변수
  3. global variable : 전역 변수

📌 2가지 스코프 규칙이 있다.

  1. Static or lexical scope
  2. Dynamic scope

Static or lexical scope

프로그램 코드에 기반한다.

📌 Search process는 local block 먼저 확인하고, 없다면 더 큰 블럭을 확인한다.

🎯 Python 예시

image.png

위의 예시

아래의 예시