모듈
각종 변수, 함수, 클래스를 담고 있는 파일
특정 기능을 .py 파일 단위로 작성한 것
패키지
특정 기능과 관련된 여러 모듈을 모아놓은 디렉터리
패키지는 모듈에 네임스페이스(namespace, 이름공간)를 제공한다.
잘 만들어진 패키지는 다른 여러 프로젝트에서 가져와(import) 사용할 수 있다.
- 구조: 여러 파이썬 모듈(.py 파일)과 __init__.py 파일로 구성 (__init__.py 파일이 있어야 파이썬이 해당 디렉터리를 패키지로 인식)
- 목적: 특정 기능(예: 데이터 분석, 웹 요청)을 수행하는 코드들을 체계적으로 묶어 다른 개발자들이 쉽게 설치하고 사용할 수 있도록
- 예시: pandas, requests, numpy 등 pip을 통해 설치하는 대부분의 라이브러리들이 패키지에 해당
라이브러리
특정 기능등을 수행하는 재사용 가능한 코드의 집합
라이브러리는 '기능의 모음'이라는 개념에 가깝고, 패키지는 그 기능들을 '어떻게 담아서 전달하는지'에 대한 구조적인 형태를 의미하지만, 거의 같은 의미로 혼용되어 사용된다.
라이브러리는 보통 패키지 형태로 배포됩니다.
예를 들어, requests는 HTTP 요청을 쉽게 보낼 수 있게 해주는 라이브러리입니다. 우리는 이 라이브러리를 사용하기 위해 pip install requests 명령어로 requests 패키지를 설치합니다.
파이썬 표준 라이브러리
파이썬에 기본으로 설치된 모듈과 패키지, 내장 함수를 묶어서 파이썬 표준 라이브러리(Python Standard Library, PSL)라 부른다.
프로젝트
특정 프로그램을 만들기 위한 전체 파일의 집합
패키지는 프로젝트의 일부가 될 수 있다.
- 구조: 프로젝트는 파이썬 소스 코드(패키지 및 모듈 포함), 설정 파일(settings.json), 의존성 목록(requirements.txt), 문서(README.md), 테스트 코드, 데이터 파일 등 애플리케이션을 구성하는 모든 파일을 포함합니다.
- 목적: 웹 애플리케이션, 데이터 분석 스크립트, 게임 등 하나의 독립적인 결과물을 만드는 것이 목적입니다.
- 예시: Django로 만드는 웹사이트, 특정 데이터를 분석하고 시각화하는 스크립트 모음 등이 프로젝트에 해당합니다.
'Python' 카테고리의 다른 글
| [Python] 문자열 소문자 또는 대문자로 바꾸기 (0) | 2021.01.05 |
|---|---|
| [python] 2차원 배열 선언 (0) | 2020.09.30 |
| [Python] id( object ) 함수 (0) | 2020.08.01 |
| [Python] 문자열 곱하기 (0) | 2020.08.01 |
| [Python] raw_input 함수 (0) | 2020.08.01 |