파이썬 범위규칙

황미라·2023년 2월 1일

Python

목록 보기
16/24

파이썬 변수의 유효범위 scope LEGB Rule

유효범위 규칙(Scope Rule): 변수에 접근 가능한 범위, 변수가 유효한 문맥(Contex)범위를 정하는 규칙

LEGB Rule

  • 파이썬에서 이름 공간을 찾는 규칙을 LEGB Rule이라고 한다.
  1. Local : 함수 내 정의된 변수
  2. Enclosing Function Local : 함수를 내포하는 또 다른 함수 영역, 내부함수에서 자신의 외부 함수의 범위
  3. Global : 함수 영역에 포함되지 않는 모듈 영역
  4. Built-in : 내장 영역
  • 변수가 함수 내에 정의되면 지역변수(Local) 변수가 되고, 함수 외부에 정의되면 모듈 전역(Global)변수가 된다.

예시

a = 10
def test():
   a = 20
   print(a)
test()
print(a) 

답안은 20, 10 a라는 변수는 Local영역에 생성, 함수내에서 생성되는 a는 Global영역에 있는 a와는 다른 변수이다.

a = 10
def test() :
    global a
    a = 20
test()
print(a)

답안은 20 , test함수가 실행될 때 Global 영역에 있는 a의 값이 20으로 변경된다.

  • 파이썬에서 어떤 변수가 값을 참조하는 경우 L, E, G, B 순으로 탐색한다.
profile
어쩌구저쩌구 개발해보기

0개의 댓글