본문 바로가기
파이썬

13. 변수의 범위

by 곽정우 2024. 3. 18.

1. 스코프(scope)

파이썬에서 변수의 범위(scope)는 해당 변수가 프로그램 내에서 참조되고 변경될 수 있는 영역을 의미합니다. 파이썬의 변수 범위는 크게 네 가지로 분류됩니다.

 

1-1.  Local(지역)

Local scope는 함수 내에서 정의된 변수. 해당 함수 내에서만 사용 가능.

 

1-2.  Enclpsing(둘러싼 범위)

Enclosing scope는 내부 함수에서 외부 함수의 변수를 참조할 때 해당 외부 함수 범위를 의미합니다.

1-3. Gloval(전역 범위)

Global scope는 변수가 스크립트의 최상위 수준에서 정의될때 전체 스크립트 파일 내에서의 해당 변수로 사용됨을 의미합니다.

 

1-4. Built-in(내장 범위)

Built-in scope는 파이썬의 내장 함수와 모듈들이 속하는 범위입니다. 예를 들어, print(), len() 같은 함수들이 여기에 해당됩니다.

 

2. 변수의 범위 탐색 순서

따라서 지역 범위에 동일한 이름의 변수가 없으면 파이썬은 둘러싼 범위를 확인하고, 그 다음으로 전역 범위, 마지막으로 내장 범위를 확인합니다.
이렇게 변수의 범위를 이해하고 관리하는 것은 코드의 가독성과 유지 보수성을 높이고, 예기치 않은 오류를 방지하는 데 중요합니다.


지역 범위

  • 함수 내에서 동일한 이름의 변수를 여러 개 사용할 수 있습니다.
  • 지역 변수는 함수 외부에서 접근하거나 변경할 수 없습니다.
  • nonlocal 키워드를 사용하여 둘러싼 범위의 변수를 참조 및 변경할 수 있습니다.

둘러싼 범위

  • 내부 함수에서 외부 함수의 변수를 직접 참조할 수 있습니다.
  • nonlocal 키워드를 사용하여 둘러싼 범위의 변수를 참조 및 변경할 수 있습니다.

전역 범위

  • 여러 함수에서 동일한 변수를 사용해야 하는 경우 유용합니다.
  • 과도하게 사용하면 코드의 가독성이 떨어질 수 있습니다.
  • 모듈 및 패키지 활용을 통한 효율적인 변수 관리 추천

내장 범위

  • 파이썬 인터프리터에 기본적으로 제공되는 함수 및 모듈을 사용할 수 있습니다.
  • 내장 함수는 직접 수정하거나 재정의할 수 없습니다.

'파이썬' 카테고리의 다른 글

15. 객체지향과 클래스&과제  (1) 2024.03.18
14. 콜백함수와 람다함수  (0) 2024.03.18
12. 사용자 정의 함수  (0) 2024.03.15
11. 컬렉션과 반복문  (0) 2024.03.15
10. 제어문 - 반복문  (0) 2024.03.14