Python 3.3 이상 버전에서는 네임스페이스 패키지. 이 기능을 사용하면 __init__.py 파일 없이 패키지를 생성할 수 있습니다.
< h2>네임스페이스 패키지를 사용하는 경우
주요 사용 사례 네임스페이스 패키지의 경우는 서로 다른 위치에 있는 여러 라이브러리가 있고 상위 패키지에 하위 패키지를 제공하려는 경우입니다.
예:
google_pubsub/ <- 패키지 1
google/ <- Namespace package (no __init__.py) cloud/ <- Namespace package (no __init__.py) pubsub/ <- Regular package (with __init__.py) __init__.py <- Required to make the package a regular package foo.py
google_storage/ <- 패키지 2
google/ <- Namespace package (no __init__.py) cloud/ <- Namespace package (no __init__.py) storage/ <- Regular package (with __init__.py) __init__.py <- Required to make the package a regular package bar.py
이 예에서는 google_pubsub와 google_storage가 모두 동일한 google/cloud 네임스페이스를 공유합니다. 이를 통해 전체 경로를 제공하지 않고도 두 라이브러리 중 하나에서 모듈을 가져올 수 있습니다.
대부분의 사용 사례에서는 __init__.py 파일을 사용하여 일반 패키지를 생성합니다. 여전히 권장되는 접근 방식입니다. 이는 자체 포함을 제공하고 잠재적인 네임스페이스 충돌을 방지합니다.
위 내용은 Python 3.3에서는 패키지에서 __init__.py가 필요하지 않습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!