[Python] 파이썬 모듈 생성과 사용법
파이썬 모듈 생성과 사용법
모듈이란?
모듈은 변수, 함수 또는 클래스를 모아 놓은 파일을 말한다.
파이썬에서 코딩을 할때 모듈을 불러와 사용 할 수 있다.
모듈의 확장자는 .py 다.
ps) 모듈을 C++로 치면 헤더 파일, cpp파일을 말한다.
모듈 만들기
당신이 파이썬 대화형 인터프리터든 파이참을 사용 하든 모듈 만드는 방법은 같다.
모듈 만드는 방법을 알아보자.
1. 프로젝트 우클릭 -> new 좌클릭 -> python file 좌클릭
2. python file 클릭 -> module 이라고 이름을 입력 -> 엔터.
3.module.py 파일이라는 모듈 만들어 졌다.
4. sum 함수 하나랑, math 클래스 내용을 적고 Ctrl + S 눌러서 파일 저장.
def sum(a,b):
return a + b
class math:
def sub(self,a,b):
return a - b
5. 파이참 프로젝트가 있는 경로에 가서 moudle.py 파일이 있는 것을 확인
6. module.py 파일 열어보면 당신이 적었던 내용이 그대로 있다.
모듈 생성과 확인 까지 해봤다.
모듈 불러오기
모듈도 만들었으니 모듈을 불러오는 방법에 대해 알아보자.
module.py 처럼 test.py 파일을 하나 더 만들어 보자.
test.py 에서 module.py 모듈을 불러 올 거다.
모듈을 불러올때는 import 명령어를 사용해서 불러온다.
아래 예제를 보면 함수 뿐만 아니라 클래스도 불러 올 수 있다.
첫 번째가 module.py, 두 번째가 test.py
#module.py
def sum(a,b):
return a + b
class math:
def sub(self,a,b):
return a - b
#test.py
import module #import를 사용해서 module.py 불러오기
a = module.sum(1,2) #함수 사용
b = module.math() #클래스 사용
c = b.sub(3,5)
print(a)
print(c)
결과 :
3
-2
from 명령어 사용해서 모듈 이름 생략하기
모듈을 불러오고 함수나 클래스를 사용하려면 모듈.함수 처럼 모듈 이름.(콤마)를 붙여줘야한다.
하지만 모듈 이름을 생략 하는 방법이 두 가지 있다.
바로 from 명령어를 사용하는 것이다.
1. from module import sum, math 처럼
import 뒤에 콤마로 구분해서 함수, 클래스 이름을 적어 주는 것이다.
#test.py
from module import sum, math #import를 사용해서 module.py 불러오기
a = sum(1,2) #함수 사용
b = math() #클래스 사용
c = b.sub(3,5)
print(a)
print(c)
2. import 뒤에 * 을 붙이면 모든 모듈의 함수, 클래스를 사용하겠다는 뜻이다.
#test.py
from module import* #import를 사용해서 module.py 불러오기
a = sum(1,2) #함수 사용
b = math() #클래스 사용
c = b.sub(3,5)
print(a)
print(c)
if__name__ == "__main__": 사용하기
if__name__ == " __main__": 이 조건문을 사용하는 경우에 대해서 알아보자.
우선 위에 조건문은 직접 파일이 실행되면 문장을 수행하고, 다른 파일에서 모듈로 사용되면 문장을 수행하지 않는 다는 뜻이다.
예제를 통해 알아보자.
1. 우선 모듈로 사용할 module.py 에 print(sum(1,2)를 추가 해줬다.
#module.py
def sum(a,b):
return a + b
print(sum(1,2))
2. 이제 test.py 에서 모듈을 호출하고 실행시켜보자.
어라? 그저 sum 함수만 호출하고 출력도 안 했는데 결과 값 3이 나온다.
이렇게 잘못된 값이 나올 때는 if_name_ == "__main__": 을 사용하면 된다.
#test.py
from module import* #import를 사용해서 module.py 불러오기
sum(4,5)
결과 : 3
3. 모듈인 moule.py 에 조건문 if __name__ == "__main__": 을 적어주고
프로그램을 실행 시키면 3이 나온다.
if __name__ == "__main__": 은 자신의 파일을 실행 시키면 참이 되어 print(sum(1,2))가 수행된다.
#module.py
def sum(a,b):
return a + b
if __name__ == "__main__":
print(sum(1,2))
결과 : 3
4. 이제 다시 test.py 로 가서 실행 시켜보면 아무런 결과 값이 나오지 않는다.
module.py 가 모듈로 사용 되었기 때문에 if __name__ == "__main__": 조건문이 거짓이 되어 실행 되지 않기 때문이다.
#test.py
from module import* #import를 사용해서 module.py 불러오기
sum(4,5)
결과 :
댓글
댓글 쓰기