프로그래밍/Python
[python] 변수 scope, LEGB Rule
홍반장水_
2024. 7. 15. 10:43
반응형
LEGB Rule
- 파이썬 변수 scope 룰을 LEGB 룰이라고 불리기도 합니다.
- 변수가 값을 찾을 때, Local -> Enclosed -> Global -> Built-in
- local - 가장 가까운 함수안 범위 입니다.
- Enclosed - 파이썬은 함수 안에 함수가 정의 될수 있는데, 가장 가까운 함수가 아닌 두번째 이상의 함수 가까운 함수범위입니다.
- Global - 함수 바깥의 변수 또는 import된 module
- Built-in - 파이썬안에 내장되어 있는 함수 또는 속성들입니다.
>>> a = 5 # Global
>>> b = 10 # Global
>>> def outer():
... a = 10 # outer함수의 local이며, inner함수의 Enclosed
... def inner():
... c=30 # inner 함수의 local
... print(a, b, c)
... inner()
... a = 22 # outer함수의 local이며, inner함수의 Enclosed
... inner()
...
>>> outer()
10 10 30
22 10 30
반응형