목차
1. 모듈(Module)이란
2. 패키지(Package)란
3. import문 사용하기
3-1 특정 함수만 불러오기
3-2 여러 함수만 불러오기
3-3 모든 함수 불러오기
3-4 다른 폴더의 모듈 불러오기
4. if _name == "__main__"
4-1 모듈 테스트 코드 작성하기
5. 클래스나 변수 등을 포함한 모듈 만들기
1. 모듈(Module)이란
모듈(Module)은 함수, 변수, 클래스 등을 모아 놓은 파이썬 파일이다.
즉, 여러 기능을 하나의 파일에 정리해 두고 다른 프로그램에서 불러와 사용할 수 있도록 만든 코드 묶음이다.
예를 들어, 다음과 같은 파일 있을 경우
calculator.py
def add(a, b):
return a + b
def sub(a, b):
return a - b
이 파일은 add 함수와 sub 함수를 포함하는 하나의 모듈이 된다.
다른 파이썬 파일에서 이 모듈을 불러와 사용할 수 있다.
예시
import calculator
print(calculator.add(3, 5))
출력 결과
8
즉, 모듈을 사용하면 코드를 재사용할 수 있으며, 프로그램의 구조를 깔끔하게 관리할 수 있다.
종류
- 기본(표준) 모듈 : 파이썬 설치 시 같이 설치되는 모듈. 별도의 설치 없이 바로 import 가능함
- 예) math, sys, datetime 등
- 외부 모듈 : 파이썬 기본 설치에 포함되지 않은 모듈로, pip install 명령어를 통해 설치해서 사용하는 모듈
- 예) numpy, pandas 등
- 사용자 모듈 : 사용자가 직접 만든.py 모듈
2. 패키지(Package)란
패키지(Package)란 여러 개의 모듈을 모아 놓은 디렉토리(폴더)이다.
패키지는 일반적으로 __init__.py 파일을 포함하며, 이를 통해 해당 폴더가 하나의 파이썬 패키지임을 나타낸다.
예를 들어, 다음과 같은 구조가 있을 수 있다.
math_package
│
├─ add.py
├─ sub.py
└─ mul.py
- 패키지
- math_package
- 모듈
- add.py
- sub.py
- mul.py
즉, 패키지를 사용하면 큰 프로그램을 구조적으로 관리할 수 있다.
3. import 사용하기
import는 이미 만들어진 모듈을 현재 프로그램에서 사용할 수 있게 해주는 명령어이다.
Syntax
import 모듈이름
예시
import math
print(math.sqrt(16))
출력 결과
4.0
모듈이름에 별칭 붙이기 (as 키워드)
import 모듈 이름 as 별칭
예시
import math as m
print(m.sqrt(16))
3-1 특정 함수만 불러오기
모듈 안에 있는 특정 함수만 불러올 수 있다.
Syntax
from 모듈이름 import 함수이름
예시
from math import sqrt
print(sqrt(16))
이 경우 math.sqrt()처럼 모듈 이름을 붙일 필요 없이 sqrt()로 바로 사용할 수 있다.
3-2 여러 함수 불러오기
여러 함수를 불러올 대는 쉼표로 구분한다.
예시
from math import sqrt, pow
print(sqrt(16))
print(pow(2,3))
3-3 모든 함수 불러오기
모듈 안에 있는 모든 함수를 불러오고 싶다면 *를 사용할 수 있다.
예시
from math import *
print(sqrt(16))
하지만, * 를 사용하면 어떤 함수가 어디에서 왔는지 알기 어려워지기 때문에 일반적으로 권장되지 않는다.
3-4 다른 폴더의 모듈 불러오기
mod 폴더 안의 mod1.py 모듈 불러오기
그리고 별칭을 m으로 설정
예시
import mod.mod1 as m
4. if __name__ == "__main__"
파이썬에서 모듈을 작성할 때 자주 등장하는 코드가 있다.
if __name__ == "__main__":
이 코드는 현재 파일이 직접 실행되는 경우에만, 특정 코드를 실행하도록 하는 조건문이다.
예시
def add(a, b):
return a + b
if __name__ == "__main__":
print(add(3,5))
여기서 __name__이란 현재 모듈의 이름을 나타내는 변수이다.
예를 들어, 파일을 직접 실행한 경우(ex. python text.py)
__name__ = "__main__"
이 된다. 따라서 if문 내부 코드가 실행된다.
예를 들어, 다른 파일에서 import한 경우(ex. import test)
import test
이 된다. 따라서 if문 내부 코드는 실행되지 않는다.
이 구조는 모듈 테스트 코드 작성 시 매유 유용하게 사용된다.
4-1 모듈 테스트 코드 작성하기
모듈을 만들 때는 테스트 코드를 함께 작성하는 경우가 많다.
예를 들어, 다음과 같은 mod1.py 모듈이 있을 경우
print('mod1 실행 시작')
print('모듈 이름 : ', __name__)
PI = 3.14
def add(n1, n2):
return n1 + n2
def sub(n1, n2):
return n1 - n2
print('mod1 실행 끝')
출력 결과는 다음과 같다.
mod1 실행 시작
모듈 이름 : __main__
mod1 실행 끝
하지만, 이 모듈을 다른 파일에서 import한 경우 출력 결과는 다음과 같다.
mod1 실행 시작
모듈 이름 : mod1
mod1 실행 끝
따라서, 보통 다음과 같이 테스트 코드를 분리한다.
PI = 3.14
def add(n1, n2):
return n1 + n2
def sub(n1, n2):
return n1 - n2
if __name__ == "__main__":
print("테스트 실행")
print(add(3,5))
print(sub(10,4))
모듈에는 함수뿐만 아니라 클래스나 변수도 포함할 수 있다.
예시 - calc.py
PI = 3.14
class Circle:
def __init__(self, r):
self.r = r
def area(self):
return PI * self.r * self.r
이 모듈은 아래와 같이 다음 파일에서 사용할 수 있다.
import calc
c = calc.Circle(5)
print(c.area())
출력 결과
78.5
즉, 모듈이란 함수, 변수, 클래스 등을 모두 포함할 수 있는 코드 단위 재사용 구조이다.
👉
'Python' 카테고리의 다른 글
| 파이썬 기초 12편 | 넘파이(Numpy) 기본 문법 (0) | 2026.03.09 |
|---|---|
| 파이썬 기초 11편 | 표준 라이브러리(Standard Library) 정리 (1) | 2026.03.09 |
| 파이썬 기초 9편 | 클래스(Class)와 객체(Object), 상속, 오버라이딩 (0) | 2026.03.08 |
| 파이썬 기초 8편 | 예외 처리 (0) | 2026.03.07 |
| 파이썬 기초 7편 | 사용자 입출력과 파일 읽고 쓰기 (0) | 2026.03.07 |