클라이언트/ 서버/ 엔지니어 " 게임 개발자"를 향한 매일의 공부일지

파이썬 날개 달기 3 - 모듈 본문

프로그래밍 언어/파이썬

파이썬 날개 달기 3 - 모듈

huenuri 2024. 9. 7. 01:43

모듈에 대한 학습을 시작해본다. 모듈이란 함수나 변수 또는 클래스를 모아 놓은 파이썬 파일이다. 모듈은 다른 파이썬 프로그램에서 불러와 사용할 수 있도록 만든 파이썬 파일이라고도 할 수 있다.

이제 모듈을 어떻게 만들고 사용할 수 있는지 알아본다.


 

 

 

모듈 만들기

이번 예제부터는 주피터 노트북이 아닌 파이썬 프로그램으로 실습을 진행해야 할 것 같다. 주피터 노트북에서는 제공되지 않는 기능들이 많았는데 사실 이 프로그램이 편해서 그동안 안 되는 부분이 있어도 진행했었다.

하지만 모듈부터는 아예 실행조차 되지 않아 조금 전에 파이썬 프로그램을 새로 설치하며 사용법을 익혀보았다.

 

 


 

 

 

모듈 불러오기

조금 전에 만든 이 파일, 즉 모듈을 파이썬에서 불러와 사용하려면 어떻게 해야 할까?

 

 

디렉토리 안에 파일이 있는 것을 확인한 후 파이썬 프로그램을 실행한다.


 

 

 

 

수없이 도전 끝에 드디어 해결했다. 그리고 이전에 주피터 노트북에서 해결하지 못했던 문제들도 모두 풀어보고 싶은 마음이 들었다.

 


 

 

 

 

이렇게 하면 mod1.py 파일의 add 함수 하나만 사용할 수 있다. add 함수와 sub 함수 둘다 모듈 이름을 붙이지 않고 사용하려면 어떻게 해야 할까?

두 가지 방법이 있다.

from mod1 import add, sub

 

from mod1 import *

 

import *은 mod1 모듈의 모든 함수를 불러와 사용하겠다는 뜻이다.


 

 

 

 

if__name__=="__main__":의 의미

파일을 다음과 같이 수정해보았다.

 

 

 

매개변수로 받은 입력값을 더하기와 뺄셈으로 잘 계산이 되고 있다.

 

 

 

하지만 파일명을 사용하면 문제가 발생한다. 이 부분은 다음과 같이 수정해야 한다.


 

 

 

 

 

 

아무런 결과값도 출력되지 않았지만 name 변수를 사용하면 mod1이라는 모듈이 저장된다.

 


 

 

 

 

 

클래스나 변수 등을 포함한 모듈

 

이제 모듈을 import 하는 방법을 확실히 알았다.

 

 


 

 

 


 

 

 

다른 파일에서 모듈 불러오기

이번에는 다른 파이썬 파일에서 이전에 만들어 놓은 모듈을 불러와서 사용하는 방법에 대해 알아보자. 먼저 다음과 같은 파일을 생성한다.

 

 

 

 

신기하게도 mymod라는 폴더를 생성하고 그 안에 조금 전에 생성한 mod2가 이동했다. 사실 며칠 전까지만 해도 파이썬 프로그램이 검은 바탕밖에 없어서 재미없게 보였었다. 그래서 주피터 노트북만 사용했던 건데 지금은 이렇게 작성하는 것이 정말 재미있어졌다.


 

 

 

sys.ath.append 사용하기

 

sys.path는 파이썬 라이브러리가 설치되어 있는 디렉터리 목록을 보여준다. 이 디렉터리 안에 저장된 파이썬 모듈은 모듈이 저장된 디렉터리로 이동할 필요 없이 바로 불러 사용할 수 있다.


 

 

 

sys.path에 C:\doit\mymod 디렉터리를 추가하면 mymod 디렉터리에 저장된 파이썬 모듈을 아무 곳에서나 불러 사용할 수 있다.

 

가장 마지막에 이 디렉터리가 추가되었다. 실제로 디렉터리 이동 없이 바로 모듈을 불러와서 사용할 수 있는지 확인해보자.

 

 

잘 불러와서 사용하게 되었다.


 

 

 

 

PYTHONPATH 환경 변수 사용하기

모듈을 불러와서 사용하는 또 다른 방법으로는 PYTHONPATH 환경 변수를 사용하는 것이다.

 

 

이렇게 환경 변수를 사용하서 디렉터리 이동이나 별도의 모듈 추가 작업 없이 mymod 디렉터리에 저장된 mod2 모듈을 불러와 사용할 수 있다.

 

 


 

 

학습을 마치고

무척 길고 긴 학습이었다. 몇 시간이 걸렸나 모르겠다. 그래도 정말 뿌듯하고 기뻤다. 처음으로 파이썬 프로그램도 사용해보고 cmd 창으로 여러가지 것들을 입력하고 출력하는 내용을 보는 것도 정말 좋았다.

이제 이런 식의 확인 작업이 너무 재미있어져 앞에서부터 처음부터 파이썬을 실행해보고 싶어졌다. 빨리 진도를 나가는 것보다 제대로 알고 어떤 일에 재미를 느낄 때까지 하는 것이 정말 중요한 것 같다.