Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Python의 네임스페이스 및 범위

<시간/>

파이썬에서 우리는 변수, 함수, 라이브러리 및 모듈 등을 다룹니다. 사용하려는 변수의 이름이 이미 다른 변수의 이름으로 또는 다른 함수 또는 다른 메서드의 이름으로 존재할 가능성이 있습니다. 이러한 시나리오에서 우리는 이 모든 이름이 파이썬 프로그램에 의해 관리되는 방법에 대해 배워야 합니다. 이것이 네임스페이스의 개념입니다.

다음은 네임스페이스의 세 가지 범주입니다.

  • 로컬 네임스페이스:프로그램에 의해 선언된 함수 및 변수의 모든 이름은 이 네임스페이스에 보관됩니다. 이 네임스페이스는 프로그램이 실행되는 동안 존재합니다.

  • 전역 네임스페이스:이 네임스페이스는 파이썬 프로그램에서 사용되는 모듈에 포함된 함수 및 기타 변수의 모든 이름을 보유합니다. 로컬 네임스페이스의 일부인 모든 이름을 포함합니다.

  • 내장 네임스페이스:프로그래밍 환경으로 로드되는 파이썬 인터프리터의 일부로 사용할 수 있는 기본 이름과 함께 사용할 수 있는 가장 높은 수준의 네임스페이스입니다. 로컬 네임스페이스를 차례로 포함하는 글로벌 네임스페이스를 포함합니다.

Python의 네임스페이스 및 범위

파이썬의 범위

네임스페이스는 사용 가능한 경우 수명이 있습니다. 범위라고도 합니다. 또한 범위는 변수 또는 개체가 위치한 코딩 영역에 따라 달라집니다. 내부 루프에서 선언된 변수를 외부 루프에서 사용할 수 있지만 그 반대의 경우는 사용할 수 없는 방법은 아래 프로그램에서 볼 수 있습니다. 또한 외부 함수의 이름이 전역 변수의 일부가 되는 방식에 유의하십시오.

예시

prog_var = 'Hello'
def outer_func():
   outer_var = 'x'
   def inner_func():
      inner_var = 'y'
      print(dir(), ' Local Variable in Inner function')

      inner_func()
      print(dir(), 'Local variables in outer function')

      outer_func()
      print(dir(), 'Global variables ')

위의 코드를 실행하면 다음과 같은 결과가 나옵니다. -

출력

['inner_var'] Local Variable in Inner function
['inner_func', 'outer_var'] Local variables in outer function
['__annotations__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', 'outer_func', 'prog_var'] Global variables