반응형
모듈이란?
함수, 변수, 클래스 등 파이썬 구성 요소 등을 모아 놓은 파일을 말한다.
파일의 이름은 모듈 이름에 확장자 .py 를 붙인다. 모듈 내에서, 모듈의 이름은 전역 변수 __name__ 으로 제공된다.
만약 math.py라는 모듈을 만들고, 아래와 같은 출력문을 실행하면
print(__name__)
__math__ 가 출력된다.
# math.py
def add(x, y):
return x + y
def subtract(x, y):
return x - y
def multiply(x, y):
return x * y
def divide(x, y):
return x / y
def power(x, y):
return x ** y
print('-' * 15)
print('called! inner!')
print(add(5, 5))
print(subtract(15, 5))
print(multiply(5, 5))
print(divide(10, 2))
print(power(5, 3))
print('-' * 15)
>>> ---------------
>>> called! inner!
>>> 10
>>> 10
>>> 25
>>> 5.0
>>> 125
>>> ---------------
모듈 사용 실습
먼저 sys는 모듈을 찾을 때 참조하는 경로를 나타낸다.
리스트 구조이며, 디렉토리 이동 없이 직접 만들 모듈을 리스트에 추가하여 사용할 수 있다.
참고로 우리가 pip로 설치한 패키지는 sys.path의 site-packages 폴더에 자리한다.
import sys
print(type(sys.path))
>>> <class 'list'>
# 모듈 추가 예시
sys.path.append('만들 모듈의 경로')
만약 main.py에 위의 math.py 파일을 추가하여 사용한다고 해보자.
import math
math를 추가한 뒤 모듈을 실행해보면 math의 print문들이 같이 출력된다.
내가 만든 모듈이 아닌 경우라면 이 출력문들에 당황하게 될 것이다.
이런 경우를 위해!
해당 모듈이 메인일 때만(자신을 바로 실행 할 경우) 출력문을 실행할 수 도 있다.
# __name__ 사용
if __name__ == "__main__":
print('-' * 15)
print('called! __main__')
print(add(5, 5))
print(subtract(15, 5))
print(multiply(5, 5))
print(divide(10, 2))
print(power(5, 3))
print('-' * 15)
해당 글은 인프런의 [프로그래밍 시작하기 : 파이썬 입문-Inflearn Original ] 강의를 듣고 정리한 개인적인 학습 노트 입니다.
반응형