본문 바로가기
Python 연습/1. Python 설치와 실습 - 아나콘다

Q_01_14. 파이썬에서 함수, 모듈, 패키지, 라이브러리 란 무엇인가?

by Python통컨 2025. 3. 20.

파이썬에서 함수, 모듈, 패키지, 라이브러리는 각각 다른 목적을 가진 코드 구조입니다. 이 용어들을 하나씩 설명하겠습니다:

1. 함수 (Function)

정의: 함수는 특정 작업을 수행하는 코드의 집합입니다. 동일한 작업을 여러 번 반복할 때, 같은 코드를 여러 번 쓰지 않고 재사용할 수 있도록 합니다.

예:

def add(a, b):   
    return a + b

특징:
재사용 가능 입력(매개변수)을 받아 출력(결과값)을 반환 코드의 가독성을 높여 유지보수를 쉽게 함

2. 모듈 (Module)

정의: 모듈은 파이썬 파일(.py) 하나에 정의된 함수, 클래스, 변수 등을 모아둔 것입니다. 즉, 관련된 코드들을 하나의 파일로 정리한 것이 모듈입니다.

예:
math.py라는 파일에 여러 수학적 연산 함수를 정의하고, 이를 다른 파이썬 스크립트에서 불러와 사용.

import math
print(math.sqrt(16))  # 4.0

특징: 모듈은 코드를 조직화하는 수단 import를 통해 다른 파일에서 재사용 가능

3. 패키지 (Package)

정의: 패키지는 여러 모듈을 디렉토리 구조로 묶어 관리하는 것입니다. 즉, 관련된 모듈들을 한데 모아 체계적으로 관리하기 위한 구조입니다. 패키지의 디렉토리에는 init.py 파일이 포함되어 있어야 패키지로 인식됩니다.

예:

my_package/
├── __init__.py
├── module1.py
└── module2.py

패키지를 사용할 때는 이렇게 불러옵니다:

 
from my_package import module1

특징:
큰 프로젝트에서 코드 관리를 효율적으로 할 수 있음
계층 구조를 통해 모듈들을 정리

4. 라이브러리 (Library)

정의: 라이브러리는 여러 모듈이나 패키지를 모아둔 일종의 도구 상자입니다. 특정 기능을 구현하기 위해 자주 사용되는 코드들이 모여 있는 형태로, 개발자들이 필요할 때 쉽게 가져다 사용할 수 있습니다.

예: NumPy, Pandas, Requests 등은 파이썬의 대표적인 라이브러리입니다.

import numpy as np
array = np.array([1, 2, 3, 4])
print(array)

특징: 복잡한 기능을 쉽게 구현할 수 있도록 미리 정의된 함수 및 클래스 제공
외부에서 설치할 수 있으며, 여러 패키지와 모듈로 구성되어 있음

요약

함수: 특정 작업을 수행하는 코드 덩어리.
모듈: 하나의 파일에 함수와 클래스를 모아둔 것.
패키지: 여러 모듈을 디렉토리 구조로 묶어 관리한 것.
라이브러리: 여러 모듈과 패키지를 모아둔 도구 상자.