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

파이썬 네임스페이스/패키지에서 모든 것을 가져오는 방법은 무엇입니까?

<시간/> <본문>

패키지가 슈퍼 모듈이 아니라 함께 그룹화된 모듈 모음이기 때문에 Python 패키지에서 모든 것을 가져오는 것은 나쁜 생각입니다. 따라서 해당 파일에서 필요한 것을 가져와야 합니다. 또한 패키지에서 전역 네임스페이스로 모든 것을 가져오면 이름이 급증하고 이러한 이름 간에 충돌이 발생할 가능성이 매우 높습니다.

즉, 아직 수행할 수 있는 방법이 있습니다. 첫 번째는 모든 하위 모듈에 대해 import 문을 사용하여 패키지에서 모든 것을 수동으로 가져오는 것입니다. 다른 방법은 https://docs.python.org/tutorial/modules.html#importing-from-a-package의 문서에서 제안하는 것처럼 __init__.py 파일에 __all__이라는 문자열 목록이 있는 경우, from pack import *를 수행할 때 해당 목록의 모든 모듈/하위 패키지 이름을 가져옵니다. 따라서 패키지에 있는 모든 항목의 문자열 목록을 만든 다음 "from packageName import *"를 수행하여 이 모듈의 모든 항목을 가져와야 합니다. 따라서 이것을 다른 곳에서 가져올 때 모든 항목도 이 네임스페이스 내에서 가져옵니다.