본문 바로가기

데이터사이언스/데이터사이언티스트4기

변수 우선순위 (LEGB Rule)

변수의 범위(Scope)

  • 전역 변수 name = "인유" → 함수 내부에서는 사용되지 않음.
  • 매개변수 name = "AIFFEL" → hello()에서 받았지만 printer()에서는 사용되지 않음.
  • 지역 변수 name = "파이썬" → printer() 안에서 선언된 새로운 변수 → 이 값이 사용됨!

변수 우선순위 (LEGB Rule) 파이썬에서는 변수를 찾을 때 LEGB 규칙을 따릅니다.

  • L (Local, 지역 범위) → printer() 내부에서 선언된 name = "파이썬"
  • E (Enclosing, 중첩 함수 범위) → hello(name)의 name = "AIFFEL" (사용되지 않음)
  • G (Global, 전역 범위) → name = "인유" (사용되지 않음)
  • B (Built-in, 내장 범위) → print(), len() 같은 기본 제공 함수

printer()에서 name = "파이썬"이 가장 가까운 범위(Local Scope)에 있으므로 이 값이 사용됨.

🚀 "지역 변수(name = "파이썬")가 함수 내부에서 가장 우선순위가 높아 출력된다!" 😊

 

 

📌 결론

🚀 "지역 변수(name = "파이썬")가 함수 내부에서 가장 우선순위가 높아 출력된다!" 😊