파이썬이 변수에 값을 바인딩하거나 변수의 값을 참조하기 위해 사용되는 우선순위
바인딩(binding) : 구체적인 값을 할당하는 과정
local 먼저 찾고 ↓
1. Local : 함수 안
2. Enclosed function locals : 내부 함수에서 자신의 외부 함수의 범위(중첩함수 일때만)
3. Global : 함수 바깥 즉, 모듈 범위
4. Built-in : open, range와 같은 파이썬 내장 함수들을 의미
a = 10
def child_func():
a = 20
return a
print(child_func())
# 20
def parent_func():
a = 10
def child_func():
return a
return child_func()
print(parent_func())
# 10
a = 30
def parent_func():
def child_func():
return a
return child_func()
print(parent_func())
# 30