Python의 패키지는 무엇입니까? 그것은 무엇을 합니까? Python 패키지 소개
이 글의 내용은 파이썬에서 패키지가 무엇인지에 관한 것입니다. 그것은 무엇을 합니까? Python의 패키지 도입에는 특정 참고 가치가 있습니다. 도움이 필요한 친구들이 참고할 수 있기를 바랍니다.
1. 패키지란 무엇인가요?
패키지는 ".module"을 통해 Python 모듈 네임스페이스를 구성하는 방법입니다. name" 방식으로 넣습니다. 우리가 넣은 각 폴더는 패키지라고 할 수 있습니다.
하지만 python2에서 지정된다는 점에 유의하세요. __init__는 package.py 파일 내에 있어야 합니다. .
패키지를 만드는 목적은 실행하는 것이 아니라 가져와서 사용하는 것입니다. 패키지는 단지 형태일 뿐이며, 패키지의 본질은 모듈입니다.#🎜 🎜##🎜 🎜#2.패키지의 역할은?
패키지의 본질은 폴더이기 때문에 폴더의 유일한 기능은 파일을 정리하는 것뿐입니다. , 불가능합니다 #🎜🎜 #
모든 기능이 폴더에 있으므로 모듈을 사용하여 기능을 정리합니다. 모듈이 많아질수록 폴더를 사용하여 정리해야 합니다 모듈 파일을 사용하여 프로그램의 구조와 유지 관리성을 향상합니다. 다음으로 나중에 학습할 수 있도록 몇 가지 패키지를 만듭니다. 패키지는 만들기 쉽고 __init__.py가 있는 폴더만 있으면 됩니다.#🎜 🎜#import os os.makedirs('glance/api') os.makedirs('glance/cmd') os.makedirs('glance/db') l = [] l.append(open('glance/__init__.py','w')) l.append(open('glance/api/__init__.py','w')) l.append(open('glance/api/policy.py','w')) l.append(open('glance/api/versions.py','w')) l.append(open('glance/cmd/__init__.py','w')) l.append(open('glance/cmd/manage.py','w')) l.append(open('glance/db/__init__.py','w')) l.append(open('glance/db/models.py','w')) map(lambda f:f.close() ,l)
디렉터리 구조 만들기
각 폴더에 몇 가지 메서드를 추가합니다. #🎜🎜 ##policy.py def get(): print('from policy.py') #versions.py def create_resource(conf): print('from version.py: ',conf) #manage.py def main(): print('from manage.py') #models.py def register_models(engine): print('from models.py: ',engine)
다음을 수행할 수 있습니다. test.py에서 패키지 내용을 사용하고, 패키지를 가져올 때 import 또는 from xxx import xxx
import glance.db.models glance.db.models.register_models('mysql') from glance.api.policy import get get()
#🎜 🎜#
3. __init__.py는 무엇을 합니까?패키지 또는 패키지의 다른 부분을 처음으로 가져오는 경우라면 어떤 방법을 사용하여 패키지를 가져오든 상관없습니다. 패키지 부분에서는 __init__.py 파일이 먼저 실행됩니다.
이 파일은 비어 있을 수 있지만 그런 다음 이전에 사용한 xxx에서 저장할 수도 있습니다. import *를 패키지 호출에 사용할 수 있습니까?
예, 가져온 콘텐츠를 * 결정하려면 __init__.py 파일에 __all__을 제공해야 합니다.
print("我是glance的__init__.py⽂件. ") x = 10 def hehe(): print("我是呵呵") def haha(): print("我是哈哈") __all__ = ['x', "hehe"]
from glance import * print(x) # OK hehe() # OK haha() # 报错. __all__⾥没有这个⻤东⻄
4. 상대 가져오기 및 절대 가져오기
우리의 최종 패키지 Glance는 다른 사람들이 사용할 수 있도록 작성되었으며, 필요할 때 Glance 패키지 안에도 포함됩니다. 서로 가져오는 경우에는 절대 가져오기와 상대 가져오기의 두 가지 방법이 있습니다.
1) 절대 가져오기: 시작점으로 살펴보기
2 ). . 또는 ..을 시작점으로 사용하세요
예를 들어 ⽤glance/cmd/manage.py를 사용합니다
# 在glance/api/version.py #绝对导⼊ from glance.cmd import manage manage.main() #相对导⼊ # 这种情形不可以在versions中启动程序. # attempted relative import beyond top-level package from ..cmd import manage manage.main()
#🎜 🎜#절대 가져오기를 사용하면 그런 문제가 없습니다. 즉, 패키지에서 상대 가져오기를 사용하면 패키지에 있는 정보를 사용할 때 패키지 외부에서만 가져올 수 있습니다
# 在policy.py import versions
이유는 정책이 외부에서 액세스되는 경우 .sys.path의 경로가 외부에 있으므로 버전 모듈을 사용할 수 없기 때문입니다. 따라서 오류는 확실히 보고됩니다:
ModuleNotFoundError: No module named 'versions'
패키지를 가져올 때 오류가 발생하면 먼저 sys.path를 확인하여 확인해야 합니다. 실제로 패키지 정보를 얻을 수 있습니다.# 🎜🎜#5. 패키지를 별도로 가져옵니다 #🎜 🎜#패키지 주의 사항: 패키지와 관련된 가져오기 문도 import 및 from xxx import xxx이지만 어느 것을 사용하든, 어디에 있든 상관 없습니다. , 가져올 때 따라야 합니다. 한 가지 원칙: 가져올 때 점이 있는 모든 항목은 점의 왼쪽이 패키지여야 합니다. 그렇지 않으면 일련의 오류가 보고될 수 있습니다. 예: from a.b.c import d 위 내용은 Python의 패키지는 무엇입니까? 그것은 무엇을 합니까? Python 패키지 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!# 在test.py中
import glance

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











Linux 터미널에서 Python 버전을 보려고 할 때 Linux 터미널에서 Python 버전을 볼 때 권한 문제에 대한 솔루션 ... Python을 입력하십시오 ...

10 시간 이내에 컴퓨터 초보자 프로그래밍 기본 사항을 가르치는 방법은 무엇입니까? 컴퓨터 초보자에게 프로그래밍 지식을 가르치는 데 10 시간 밖에 걸리지 않는다면 무엇을 가르치기로 선택 하시겠습니까?

Python의 Pandas 라이브러리를 사용할 때는 구조가 다른 두 데이터 프레임 사이에서 전체 열을 복사하는 방법이 일반적인 문제입니다. 두 개의 dats가 있다고 가정 해

Fiddlerevery Where를 사용할 때 Man-in-the-Middle Reading에 Fiddlereverywhere를 사용할 때 감지되는 방법 ...

Uvicorn은 HTTP 요청을 어떻게 지속적으로 듣습니까? Uvicorn은 ASGI를 기반으로 한 가벼운 웹 서버입니다. 핵심 기능 중 하나는 HTTP 요청을 듣고 진행하는 것입니다 ...

이 기사는 Numpy, Pandas, Matplotlib, Scikit-Learn, Tensorflow, Django, Flask 및 요청과 같은 인기있는 Python 라이브러리에 대해 설명하고 과학 컴퓨팅, 데이터 분석, 시각화, 기계 학습, 웹 개발 및 H에서의 사용에 대해 자세히 설명합니다.

파이썬에서 문자열을 통해 객체를 동적으로 생성하고 메소드를 호출하는 방법은 무엇입니까? 특히 구성 또는 실행 해야하는 경우 일반적인 프로그래밍 요구 사항입니다.

Linux 터미널에서 Python 사용 ...
