> 백엔드 개발 > 파이썬 튜토리얼 > Python의 네임스페이스 및 범위

Python의 네임스페이스 및 범위

青灯夜游
풀어 주다: 2019-02-14 16:32:48
원래의
2146명이 탐색했습니다.

Python에서는 모든 패키지, 모듈, 클래스, 함수 및 메서드 함수에 변수 이름이 확인되는 "네임스페이스"가 있습니다. 다음 글에서는 Python의 네임스페이스와 범위를 소개하겠습니다. 도움이 되길 바랍니다.

Python의 네임스페이스 및 범위

네임스페이스란 무엇입니까?

이름 지정 공백은 프로그램의 모든 이름이 고유하고 충돌 없이 사용될 수 있도록 하기 위해 사용되는 시스템입니다. 여러 네임스페이스가 동일한 이름을 사용하고 이를 다른 개체에 매핑할 수 있습니다. [동영상 튜토리얼 추천 : Python tutorial]

예를 들어 컴퓨터의 디렉터리 파일 시스템 구조입니다. 말할 필요도 없이 하나의 디렉터리는 여러 개 있을 수 있으며 각 디렉터리에는 동일한 이름의 파일이 있을 수 있습니다. 그러나 절대 경로를 지정하여 파일을 지정할 수 있습니다.

Python의 네임스페이스는 Python 사전으로 구현됩니다. 즉, 이름(키)에서 개체(값)로의 매핑을 의미합니다. 사용자는 Python 프로그램을 작성하고 네임스페이스를 사용할 때 이를 알 필요가 없습니다.

네임스페이스 유형:

Local 네임스페이스: 이 네임스페이스에는 함수 내의 로컬 이름이 포함됩니다. 이 네임스페이스는 함수가 호출될 때 생성되며 함수가 반환될 때까지만 지속됩니다.

글로벌 네임스페이스: 이 네임스페이스에는 프로젝트에서 사용하는 다양한 가져온 모듈의 이름이 포함되어 있습니다. 모듈이 프로젝트에 포함될 때 생성되며 스크립트가 끝날 때까지 지속됩니다.

Built-in 네임스페이스: 이 네임스페이스에는 내장 함수 및 내장 예외 이름이 포함되어 있습니다.

Python의 네임스페이스 및 범위

네임스페이스의 수명 주기:

네임스페이스의 수명 주기는 객체에 따라 다릅니다. 객체의 범위가 끝나면 네임스페이스의 수명 주기도 종료됩니다. 따라서 내부 네임스페이스의 개체는 외부 네임스페이스에서 액세스할 수 없습니다.

범위란 무엇인가요?

네임스페이스는 프로그램의 모든 이름을 고유하게 식별하는 데 도움이 될 수 있습니다. 그러나 이것이 어디에서나 변수 이름을 사용할 수 있다는 의미는 아닙니다. 이름에는 접두사 없이 이름을 사용할 수 있는 프로그램 부분을 정의하는 범위도 있습니다. 네임스페이스와 마찬가지로 프로그램에는 여러 범위가 있습니다.

범위는 네임스페이스 접두사를 사용하지 않고 네임스페이스에 직접 액세스할 수 있는 프로그램 영역을 나타냅니다. 즉, 이름의 범위는 이름이 명시적으로 사용될 수 있는 프로그램 영역(예: 함수 내부)입니다.

이름의 네임스페이스는 해당 범위와 동일합니다. 범위는 정적으로 정의되지만 동적으로 사용됩니다.

다음은 프로그램 실행 중에 존재할 수 있는 일부 범위의 목록입니다.

● 로컬 범위: 가장 안쪽 범위이며 사용 가능한 로컬 이름 목록을 포함합니다. 현재 기능.

● 모든 포함 기능의 범위: 이름 검색은 가장 가까운 포함 범위부터 시작하여 바깥쪽으로 이동합니다.

● 현재 모듈의 모든 전역 이름을 포함하는 모듈 수준 범위.

● 모든 내장 이름 목록을 포함하는 가장 바깥쪽 범위입니다. 마지막으로 이 범위에서 참조한 이름을 검색하세요.

위 내용은 이 글의 전체 내용이며, 모든 분들의 공부에 도움이 되었으면 좋겠습니다. 더 흥미로운 내용을 보려면 PHP 중국어 웹사이트의 관련 튜토리얼 열을 주의 깊게 살펴보세요! ! !

위 내용은 Python의 네임스페이스 및 범위의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿