반응형
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
반응형
'프로그래밍 > Python' 카테고리의 다른 글
[python] Working With Files (0) | 2024.07.24 |
---|---|
[python] Pandas cheat sheet (0) | 2024.07.19 |
[python] deepcopy (0) | 2024.07.04 |
[python] 얕은 복사(shallow copy)와 깊은 복사(deep copy) (0) | 2024.07.04 |
JSㆍ파이썬ㆍ자바가 기업 IT를 지배하는 이유 (0) | 2024.05.29 |