Python 3.3에서는 더 이상 필요하지 않습니까? ? 패키지에 __init__.py 파일을 제공하시겠습니까?
소개: __init__.py 파일의 역할
Python에서 __init__.py 파일의 역할은 디렉터리를 패키지로 사용하면 이 디렉터리의 다양한 디렉터리와 모듈을 네임스페이스로 구성할 수 있습니다. Python 2.7 이하에서는 패키지를 생성하려면 __init__.py 파일이 필요합니다.
Python 3.3의 __init__.py 파일
Python 3.3에서는 암시적 네임스페이스 패키지 개념이 도입되어 __init__.py 없이도 가능합니다. 파일 및 패키지 생성될 수도 있습니다. 이는 이제 디렉터리를 네임스페이스 패키지로 지정할 수 있고 해당 디렉터리의 콘텐츠를 모듈화할 수 있음을 의미합니다.
네임스페이스 패키지 사용 사례
이 암시적 네임스페이스 패키지 기능의 가장 일반적인 사용 사례는 서로 다른 위치의 여러 라이브러리가 하위 패키지를 상위 패키지에 제공하도록 허용하는 것입니다. 패키지 . 예를 들어, 다음 구조를 제공하는 google_pubsub 및 google_storage라는 두 개의 라이브러리가 있다고 가정합니다.
google_pubsub/ # 包 1 google/ # 命名空间包(没有 __init__.py) cloud/ # 命名空间包(没有 __init__.py) pubsub/ # 常规包(有 __init__.py) __init__.py # 必需的,用于创建常规包 foo.py google_storage/ # 包 2 google/ # 命名空间包(没有 __init__.py) cloud/ # 命名空间包(没有 __init__.py) storage/ # 常规包(有 __init__.py) __init__.py # 必需的,用于创建常规包 bar.py
이 경우 google/ 및 google/cloud/ 디렉터리는 네임스페이스 패키지여야 하므로 google_pubsub 및 google_storage 패키지는 동일한 상위 패키지 아래의 하위 패키지로 간주됩니다.
결론:
Python 패키지에는 다음 두 가지 유형이 있습니다.
위 내용은 버전 3.3의 Python 패키지에는 `__init__.py`가 여전히 필요합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!