지난 포스팅에서는 파이썬 클래스 에 대해 마무리를 했고
이번 포스팅부터는 파이썬 모듈에 대해 공부해 보려 합니다.
그중에서 모듈이 어떤건지 모듈의 정의와 모듈 만들기와 모듈 불러오기에 대해 공부해 보겠습니다.
파이썬 모듈
모듈의 정의
모듈이라는 것은 이전에 공부했던 함수나 변수, 또는 클래스를 모아 놓은 파이썬 파일이라고 보시면 됩니다.
다르게 해석하자면 모듈은 다른 파이썬 프로그램에서 불러와서 사용할 수 있게끔 만들어진 파이썬 파일이라고 보시면 됩니다.
파이썬 프로그래밍을 진행을 하다 보면 굉장히 많은 수의 모듈을 사용을 하게 됩니다.
이렇게 사용되는 모듈은 기존에 다른 개발자들이 이미 만들어 놓은 모듈일 수도 있고
우리가 프로그래밍을 하면서 직접 만들어 사용하는 모듈일 수도 있습니다.
모듈 만들기
일단 간단하게 모듈 만들기를 해보겠습니다
# module1.py
def add(x, y):
return x + y
def subtrack(x, y):
return x - y
위 코드는 add 와 subtrack 함수만 존재하는 module1.py 파일입니다.
위처럼 파이썬 파일을 만들었는데 이 파일이 모듈입니다.
에디터로 파이썬 파일을 만들었었다면 다른 것이 없습니다.
즉 파이썬 확장자인 ~.py 로 만든 파이썬 파일은 모두 모듈이라고 보시면 됩니다.
모듈 불러오기
방금 위에서 만든 module1.py 파일, 즉 모듈을 파이썬에서 어떻게 불러와야 할까요?
우선 명령프롬프트 창을 열고 모듈을 만든 폴더로 이동을 해서 대화형 인터프리터를 실행해 보겠습니다.
저희는 아나콘다를 통해 비주얼스튜디오코드를 사용하기 때문에 아나콘다 프롬프트를 사용해 보겠습니다.
아나콘다를 통한 비주얼스튜디오코드 에 관한 지난 포스팅이 있으니 참고 해보시기 바라며 다음으로 넘어가겠습니다.

아래 처럼 아나콘다 프롬프트를 실행하고 가상환경을 불러와 줍니다.
conda activate py_study_31010
그리고 모듈을 생성한 폴더로 이동합니다.
d:
cd D:\Dropbox\02.My_Job\80.Study\01.Python\00.study_python_3.11.0\01.TEST\
이동한 폴더에 내용을 확인을 해보고 module1.py 가 있나 확인 해 봅니다.
dir
이제 파일이 있는것을 확인했으니 이제 여기서 파이썬 대화형 인터프리터를 실행해 줍니다.
python
(base) C:\Users\donnr>conda activate py_study_31010
(py_study_31010) C:\Users\donnr>d:
(py_study_31010) D:\>cd D:\Dropbox\02.My_Job\80.Study\01.Python\00.study_python_3.11.0\01.TEST\
(py_study_31010) D:\Dropbox\02.My_Job\80.Study\01.Python\00.study_python_3.11.0\01.TEST>dir
D 드라이브의 볼륨에는 이름이 없습니다.
볼륨 일련 번호: 32C2-7736
D:\Dropbox\02.My_Job\80.Study\01.Python\00.study_python_3.11.0\01.TEST 디렉터리
2023-04-26 오후 09:45 <DIR> .
2023-04-26 오후 09:18 <DIR> ..
2023-04-18 오후 09:45 30 ex_test.txt
2023-04-26 오후 09:45 87 module1.py
2023-04-25 오전 08:20 4,441 test.py
2023-04-18 오후 10:09 30 test.txt
2023-04-18 오후 07:42 102 test_02.py
2023-04-18 오후 10:01 49 write_text.txt
2023-04-17 오후 03:25 0 신규파일.txt
7개 파일 4,739 바이트
2개 디렉터리 326,446,088,192 바이트 남음
(py_study_31010) D:\Dropbox\02.My_Job\80.Study\01.Python\00.study_python_3.11.0\01.TEST>python
Python 3.10.10 | packaged by Anaconda, Inc. | (main, Mar 21 2023, 18:39:17) [MSC v.1916 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>
이처럼 파이썬의 대화형 인터프리터에서는 파이썬 파일을 저장한 폴더로 이동을 해야 모듈을 읽어올 수 있습니다.
>>> import module1
>>> print(module1.add(3, 4))
7
>>> print(module1.subtrack(4, 2))
2
>>>
위 코드처럼 module1.py 로 생성한 모듈을 불러오기 위해 import module1 이라고 했습니다.
실수로라도 .py 를 붙이면 안됨을 명심해 주세요
import 는 만들어져 있는 파이썬 모듈을 사용할 수 있게 해주는 명령입니다.
module1.py 파일에 있는 add 함수와 subtrack 함수를 사용하기 위해 위 코드 처럼 module1.add, module1.subtrack 같이 모듈 이름 뒤에 “.”(도트 연산자) 를 붙이고 함수 이름을 쓰시면 됩니다.
import 는 현재 디렉토리에 있는 파일이나 파이썬 라이브러리가 저장된 디렉토리에 있는 모듈만 불러올 수 있습니다.
파이썬 라이브러리는 파이썬을 설치 할 때 자동으로 설치되는 파이썬의 모듈들을 얘기합니다.
import 사용법
import 의 사용법은 간단합니다.
import 모듈 이름
앞에서 보았듯이 여기에서 모듈 이름은 파일이름 module1.py 에서 .py 확장자를 제거한 module1 만을 말합니다.
모듈 이름 없이 함수 이름 사용
매번 모든 경우에 module1.add, module1.subtrack 처럼 쓰는 것은 아닙니다.
그냥 add, subtrack 처럼 모듈 없이 함수 이름만 쓰고 싶은 경우도 있습니다.
이럴 때 아래 처럼 사용하시면 됩니다.
from 모듈 이름 import 모듈 함수
아래의 코드를 보면 이해가 되실 겁니다.
>>> from module1 import add
>>> add(3, 4)
7
>>>
그러면 add 와 subtrack 함수를 둘 다 사용하려면 어떻게 할까요?
from module1 import add, subtrack
from module1 import *
위 예처럼 두가지 방법이 있습니다.
첫번째 처럼 콤마로 모듈 함수를 불러오는것이 있고
두번째 처럼 “*” 문자를 사용할 수도 있습니다.
* 문자는 모든 것을 의미합니다.
파이썬에서도 마찬가지로 사용됩니다.
- 이 포스팅은 ‘위키독스’ 의 ‘점프 투 파이썬‘ 전자책을 구매하여 독학하기 위한 자료로 작성했습니다.
