본문으로 건너뛰기
실습하기

패키지는 무엇이고 어떻게 사용할까요?

파이썬에서 패키지(Package)는 여러 관련된 모듈들을 묶은 폴더(디렉터리)입니다.

패키지 안에는 여러 파이썬 파일(모듈)들이 포함되어 있습니다.

패키지는 서로 연관된 모듈을 체계적으로 조직해 관리할 수 있도록 도우며, 코드의 재사용성을 높입니다.


파이썬 패키지 구조

파이썬 패키지는 일반적으로 __init__.py 파일을 포함하는 디렉터리로 구성됩니다.

__init__.py 파일은 해당 디렉터리가 패키지임을 알려주는 역할을 하며, 패키지가 초기화될 때 실행되는 코드를 포함할 수도 있습니다.

예시: 간단한 패키지 구조
my_package/
__init__.py
module1.py
module2.py

위의 my_package 디렉터리는 파이썬 패키지 예시로, 이 안에 module1.pymodule2.py라는 두 개의 모듈을 포함합니다.

이제 다른 파이썬 코드에서 아래와 같이 패키지의 모듈을 불러올 수 있습니다.

패키지 내 모듈 사용 예시
# my_package 패키지의 module1 모듈을 불러옴
from my_package import module1

# module1.py에 정의된 some_function 호출
result = module1.some_function()

이렇게 패키지를 사용하면 코드를 더 체계적으로 관리하고 재사용할 수 있습니다.


코드 재사용성을 극대화하기 위한 구조

파이썬에서 코드 재사용성을 극대화하는 구조는 함수 > 모듈 > 패키지 순으로 발전합니다. 함수가 가장 작은 단위이며, 패키지가 가장 큰 단위입니다.

참고: 패키지는 여러 모듈을 포함할 수 있는 구조적인 단위이고, 라이브러리는 특정 목적을 위해 제공되는 코드 모음을 뜻하는 기능적 단위입니다. 라이브러리는 하나 이상의 패키지로 구성될 수 있지만, 꼭 패키지 구조를 따를 필요는 없습니다.


파이썬 패키지 관리 도구, pip

pip는 파이썬에서 패키지를 설치하고 관리하는 도구입니다.

pip는 터미널(컴퓨터와 상호작용하는 텍스트 기반의 인터페이스)에서 사용할 수 있으며, 텍스트를 기반으로 파이썬 패키지 인덱스(PyPI)에서 제공하는 수많은 공개 패키지를 설치하고 사용하도록 지원합니다.

예를 들어 파이썬 프로그램이 외부 웹사이트 및 서버와 통신하기 위한 requests 패키지를 설치하려면, 터미널을 열고 아래와 같이 명령어를 실행합니다.

requests 패키지 설치
pip install requests

이 명령어를 실행하면 requests 패키지가 컴퓨터의 파이썬 환경에 설치됩니다.

이후에는 import requests로 해당 패키지를 프로젝트에서 사용할 수 있습니다.

requests 패키지 사용 예시
# requests 패키지 불러오기
import requests

# requests 패키지를 사용해 웹사이트의 데이터를 가져옴
response = requests.get("https://www.example.com")

# 웹사이트의 HTML 코드 출력
print(response.text)

일반적으로 import는 동일 폴더 내에 있는 모듈을 불러오지만, pip를 사용해 설치한 패키지는 어디서나 불러올 수 있습니다.

왜냐하면 pip로 설치한 패키지는 파이썬이 설치된 폴더에 저장되어 별도로 관리되기 때문입니다.


from 과 import의 차이

  • import 키워드 : 패키지 및 모듈 전체를 불러옴

  • from 키워드 : 특정 패키지의 특정 모듈, 또는 특정 모듈의 특정 함수만 불러옴

예를 들어 import requestsrequests 패키지 전체를 불러오지만, from requests import getrequests 패키지 내의 get 함수만 불러옵니다.

requests는 하나의 패키지이지만, 패키지 안에 __init__.py 파일을 포함합니다.

이 파일로 인해 패키지를 하나의 모듈처럼 다룰 수 있습니다.

다음 내용이 궁금하다면?

코드프렌즈 PLUS 멤버십 가입 or 강의를 등록해 주세요!