디렉토리
꾸러미
패키지는 무엇입니까?
패키지는 모듈의 형태이며, 본질은 폴더 __init__.py의 파일이 들어있는 패킷
왜 포장해야합니까?
모듈의 첫 번째 버전은 10 기능이지만, 향후 확장 버전, 모듈 이름 및 사용은 변경하지 않는 것이 좋습니다해야 할 때,하지만 이것은 단지 사용자 친화적 위해, 그리고 확장 버전 때문에, 파일 증가, 모듈 형 설계 관리 모듈에 의해, 유지 보수가 더 복잡 할 것이다, 그래서 우리는 기능 모듈을 확장 패키지를 사용할 수 있습니다
패키지가 소개되었을 때 세 가지가 있었다
- 파일 __init__.py의 AAA 폴더를 엽니 다
- 패키지 폴더이기 때문에, 패키지를 실행할 수 없습니다, 패키지의 구현에 너무 __init__.py 파일이 패키지 네임 스페이스에 저장된 실행 이름 중에 생성됩니다 (즉, 네임 스페이스에 저장된 패키지 이름에서 유래
init.py
) - 아아 현재 실행 파일에 이름을 얻을 AAA 패키지 네임 스페이스를 가리키는
세 가지 가져 오기 모듈을 발생
- 이름 공간 모듈 만들기
- 평 파일 실행, 구현 프로세스의 이름은 네임 스페이스에 저장 생성
- 아아 현재 실행 파일에 이름을 얻을 AAA 패키지 네임 스페이스를 가리키는
상대 수입, 절대 수입
절대 수입
# aaa/__init__.py
from aaa.m1 import func1
from aaa.m2 import func2
상대 수입
from .m1 import func1
from .m2 import func2
'''
包内模块是以相对路径导入
. 当前目录
.. 上一级目录
... 上上级目录
执行文件是以绝对路径导入。
'''
주의 사항
- == 표준으로 실행 파일 모듈 검색 경로. ==
- 패키지는 평 파일입니다
- 패키지의 모든 파일을 사용하여 수입하는 대신 직접 실행되고
- (모듈이 참조로 도입된다 현재 디렉토리) 도입 상대 (기준 패킷으로서 루트 디렉토리)를 도입 절대 사용할 수있는 속 자루 모듈 사이에 도입 상대 오기 권장
- 파일이 실행 파일이 아닌 상대 수입 구문 및 경우 파일은 상대적으로 수입의 구문을 사용하기 위해 파일 내의 파일 내에서 모듈로 가져올 경우에만
- 왼쪽 포인트를 가져 오는 패키지해야합니다 잠시 동안 사람들
import aaa.bbb.m3.f3
오류