[Do it! 점프 투 파이썬-스터디 노트] 05장 파이썬 날개 달기(05-2 모듈)

2021. 4. 17. 22:08PYTHON/Do it! 점프 투 파이썬

 

 

05장 파이썬 날개 달기

 

 

 

05-2 모듈

모듈이란 함수나 변수 또는 클래스를 모아놓은 파일이다. 다른 파이썬 프로그램에서 불러와 사용할 수 있게 만든 파이썬 파일을 가리킨다.

 

 

모듈 만들기

파이썬 확장자 .py로 만든 파이썬 파일은 모두 모듈이다

 

 

모듈 불러오기

모듈이 저장된 디렉터리로 이동하여 디렉터리에 파일이 있는지 확인 후 대화형 인터프리터로 실행한다

import mod1
print(mod1.add(3,4))
7
print(mod1.sub(4,2))
2

 

import 모듈이름(.py 확장자를 제거한 모듈이름만 쓴다)

import는 이미 만들어놓은 파이썬 모듈을 사용할 수 있게 해주는 명령어이다. import는 현재 디렉터리에 있는 파일이나 파이썬 라이브러리가 저장된 디렉터리에 있는 모듈만 불러올 수 있다.

 

from 모듈 이름 import 모듈 함수

from mod1 import add
add(3,4)
7

from 모듈 이름 import 모듈함수1, 모듈함수2,...

from 모듈 이름 import * (모듈의 모든 함수를 불러서 사용함)

 

 

 

if __name__=="__main__":의 의미

if __name__=="__main__"을 사용하면 C:|doit>python mod1.py처럼 직접 이 파일을 실행했을 때는 __name__=="__main__"이 참이 되어 if문 다음 문장이 수행된다. 반대로 대화형 인터프리터나 다른 파일에서 이 모듈을 불러서 사용할 때는 __name__=="__main__"이 거짓이 되어 if문 다음 문장이 수행되지 않는다.

 

 

 

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

#mod2.py
PI=3.141592

class Math:
	def solv(self, r):
    	return PI*(r**2)
        
def add(a, b):
	return a+b

이 파일은 클래스, 함수, 변수 등을 모두 포함하고 있다.

대화형 인터프리터에서 모듈 안에 있는 클래스를 사용하려면 '.'(도트 연산자)로 클래스 이름 앞에 모듈 이름을 먼저 입력해야 한다.(a=mod2.Math())

 

 

Q. mod2.py모듈을 사용해 반지름이 5인 원의 넓이를 계산해보자.

import mod2
a=mod2.Math()
print(a.solv(5))
78.5398

 

 

 

 

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

다른 파이썬 파일에서도 이전에 만들어놓은 모듈을 불러와서 사용할 수 있다. 이때 두 파일이 동일한 디렉터리 안에 있어야 한다.

#modtest.py
import mod2
result=mod2.add(3,4)
print(result)

 

*모듈을 불러오는 또 다른 방법(모듈을 저장한 디렉터리로 이동하지 않고 모듈을 불러와서 사용하는 방법)

1. sys.path.append(모듈을 저장한 디렉터리) 사용하기

2. PYTHONPATH 환경 변수 사용하기