파이썬 하루 하나씩 배우기: 사용자 정의 모듈 만들기
이 글은 파이썬에서 사용자 정의 모듈을 만드는 방법을 완전히 이해하기 위한 가이드입니다.
Thank you for reading this post, don't forget to subscribe!파이썬을 배우다 보면, 반복되는 코드나 기능들을 효율적으로 관리하고 재사용하고 싶다는 생각이 들기 마련입니다. 저도 처음에는 모든 코드를 한 파일에 작성했지만, 프로젝트가 커지면서 유지보수가 어려워졌습니다. 그때 알게 된 것이 바로 ‘모듈’의 개념이었습니다. 오늘은 여러분과 함께 파이썬에서 사용자 정의 모듈을 만드는 방법을 알아보겠습니다.
1. 모듈이란 무엇인가?
모듈이란 파이썬 코드가 저장된 파일을 의미합니다. 확장자는 .py
이며, 이 파일 안에는 변수, 함수, 클래스 등을 정의할 수 있습니다.
모듈을 사용하면 반복되는 코드를 재활용할 수 있고, 코드의 가독성과 유지보수성도 훨씬 좋아집니다.
모듈은 파이썬에서 “코드를 나누는 기본 단위”이자 “재사용성을 확보하는 필수 요소”입니다.
2. 사용자 정의 모듈 만들기
단계 | 설명 |
---|---|
1단계 | 새로운 파이썬 파일을 생성 (예: my_module.py ) |
2단계 | 모듈에 함수 또는 클래스를 정의 |
3단계 | 다른 파이썬 파일에서 import my_module 로 불러오기 |
예시 모듈 파일 (my_module.py
):
# my_module.py
def greet(name):
return f"안녕하세요, {name}님!"
def add(x, y):
return x + y
이제 위 모듈은 다른 파일에서 불러와 사용할 수 있습니다. 마치 파이썬 내장 모듈처럼요!
3. 모듈 사용하기
import my_module
: 전체 모듈을 불러오기from my_module import greet
: 특정 함수만 가져오기import my_module as mm
: 모듈 이름을 줄여 사용하기
모듈은 당신의 파이썬 생활을 ‘효율’이라는 단어로 바꿔줄 수 있는 열쇠입니다.
4. 모듈의 위치와 경로
파이썬은 기본적으로 모듈을 현재 작업 디렉터리나 시스템 경로(sys.path)에 등록된 디렉터리에서 찾습니다. 만약 사용자 정의 모듈이 다른 폴더에 있다면, 직접 경로를 지정해주어야 합니다.
import sys
sys.path.append('/내_모듈이_있는_경로')
경로 설정은 파이썬에게 “여기서도 모듈 좀 찾아봐줘”라고 말해주는 것과 같습니다.
5. 패키지와 모듈 구조
요소 | 설명 |
---|---|
__init__.py | 해당 폴더를 패키지로 인식하게 만드는 파일 |
module_a.py | 기능 A가 담긴 사용자 모듈 |
module_b.py | 기능 B가 담긴 사용자 모듈 |
패키지는 모듈의 집합체입니다. 다양한 기능을 하나의 ‘폴더’로 정리할 수 있어요. 더 이상 뒤죽박죽되지 않습니다!
6. 연습문제
- 문제 1: greet라는 함수를 포함한 my_module.py 파일을 만들고, 이름을 받아 인사하는 기능을 구현하세요.
- 문제 2: 두 숫자를 받아 합을 반환하는 add 함수를 만들어 보세요. 다른 파일에서 import해서 호출해보세요.
- 문제 3: 모듈을 포함한 패키지를 구성해보고, 그 구조를 터미널에서 import해보세요.
처음은 어렵지만, 분명히 말할 수 있어요. 직접 만들어 보면 “왜 진작 이걸 안 썼지?”라는 말이 절로 나올 거예요.
직접 해본 후기 & 실전 꿀팁
처음엔 그냥 def로만 함수 만들면 끝이라 생각했어요. 근데 프로젝트가 커지니까, 진짜로 정신없더라고요. 그때 알게 된 게 사용자 정의 모듈이었죠.
제가 처음 만든 모듈은 ‘계산기’였어요. 덧셈, 뺄셈, 곱셈, 나눗셈 네 개만 들어있는 단순한 파일이었죠. 근데 다른 파일에서 import my_calc
한 줄로 그 모든 기능이 딱 정리돼서 들어오는 걸 보고 묘하게 뿌듯했어요.
✔ 실전 꿀팁!
– 모듈 하나 만들 때마다 “나만의 파이썬 라이브러리”가 생기는 기분이에요.
– __name__ == "__main__"
조건문을 꼭 넣어야 테스트할 때 편해요.
– 작은 기능부터 시작해보세요. 나중엔 진짜 쓸만한 도구 세트가 됩니다.
그러고 보면 코딩이라는 게 꼭 거창해야 할 필요는 없더라고요. 내가 만든 기능이, 내가 짠 코드에서 다시 ‘불려’ 나오는 그 느낌. 그게 재밌는 거예요.
“파이썬은 사람을 게으르게 만든다”는 말, 사용자 정의 모듈 써본 사람은 공감할걸요?
sys.path.append()
를 이용해 경로를 직접 추가할 수 있습니다.if __name__ == "__main__":
구문을 사용하면 해당 모듈을 직접 실행했을 때만 실행되는 테스트 코드를 작성할 수 있어요.__init__.py
파일이 포함되어야 해요.6. 시각 자료 및 참고 링크
처음엔 하나의 파일로도 충분했던 코드가, 어느새 수십 줄이 넘어가고 점점 복잡해집니다.
그럴 때, 사용자 정의 모듈은 단순한 기술을 넘어서 개발자에게 ‘질서’를 부여하는 도구가 됩니다.
이제 여러분도 자신만의 도구함을 하나씩 채워갈 준비가 되었겠죠?
파이썬에서 모듈을 만든다는 건, 단순히 코드를 나눈다는 게 아니라 내 코드를 ‘믿고 불러줄 수 있게’ 만든다는 의미입니다.
HANSORI.AI_Blog Labs에서 더 알아보기
구독을 신청하면 최신 게시물을 이메일로 받아볼 수 있습니다.