English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Python 기본 강의

Python 흐름 제어

Python 함수

Python 데이터 타입

Python 파일操作

Python 객체와 클래스

Python 날짜와 시간

Python 고급 지식

Python 참조 매뉴얼

Python 패키지(Package)

이 문서에서는 Python 패키지를 사용하여 코드 라이브러리를 깨끗하고 효율적인 모듈로 나누는 방법을 배울 것입니다. 또한, Python 프로그램에서 자신의 또는 제3자 소프트웨어 패키지를 도입하고 사용하는 방법도 배울 것입니다.

패키지(Package)는 무엇인가요?

모든 파일을 동일한 곳에 저장하지 않습니다. 쉽게 접근할 수 있도록 잘 정리된 디렉토리 계층 구조를 사용합니다.

동일한 폴더에 저장된 파일이 있습니다. 예를 들어, 모든 음악을 "music" 폴더에 유지할 수 있습니다. 이와 유사하게, Python은 폴더에 대한 소프트웨어 패키지와 파일에 대한 패키지를 제공합니다.모듈

우리의 애플리케이션의 규모가 점점 커지고, 많은 모듈이 있을 때, 유사한 모듈을 하나의 패키지에 넣고, 다른 모듈을 다른 패키지에 넣어 프로젝트(프로그램)를 관리하기 쉽고 개념적으로 명확하게 만듭니다.

또한 디렉토리가 서브 디렉토리와 파일을 포함할 수 있으므로, 파이썬 패키지는 서브 패키지와 모듈을 가질 수 있습니다.

디렉토리는 __init__.py 파일을 포함해야 하며, Python이 그를 패키지로 인식할 수 있습니다. 이 파일은 비어 있을 수 있지만, 일반적으로 이 파일에 패키지의 초기화 코드를 넣습니다.

이것은 예제입니다. 게임을 개발하는 중이라면, 가능한 패키지와 모듈 구조는 다음과 같습니다.

패키지에서 모듈 가져오기

패키지에서 모듈을 가져오는 데 사용할 수 있는 점(.) 연산자를 사용할 수 있습니다。

예를 들어, 위의 예제에서 start 모듈을 가져오려면 다음 단계를 따르세요。

import Game.Level.start

이제, 이 모듈이 select_difficulty()라는 이름의 함수를 포함하고 있는 경우함수그래서 우리는 전체 이름을 사용하여 참조해야 합니다。

Game.Level.start.select_difficulty(2)

이 구조가 너무 길어 보일 때는 다음과 같은 방식으로 패키지 전위자 없이 모듈을 가져올 수 있습니다。

from Game.Level import start

이제 이 함수를 간단하게 다음과 같이 호출할 수 있습니다。

start.select_difficulty(2)

필요한 함수(또는 클래스 또는 변수)만 패키지의 모듈에서 가져오는 또 다른 방법은 다음과 같습니다。

from Game.Level.start import select_difficulty

이제 이 함수를 직접 호출할 수 있습니다。

select_difficulty(2)

이 방법은 매우 간단하지만, 이 방법을 사용하지 않는 것이 좋습니다. 완전한이름 공간충돌을 피하고 두 개의 동일한 식별자 이름이 충돌하지 않도록 합니다。

패키지를 가져오는 동안 Python은 sys.path에 정의된 디렉토리 목록을 확인합니다. 유사하게모듈 검색 경로