1. 모듈
파이썬에서 모듈을 만들려면 간단히 .py 확장자를 가진 파일에 코드를 작성하면 됩니다. 모듈은 단순한 함수 뿐만 아니라 변수, 클래스 등도 포함할 수 있으며, 다른 스크립트에서 import 구문을 사용하여 가져올 수 있습니다.
import 모듈 #모듈 불러오기
from 모듈 import 함수 # 모듈 내의 함수만 불러오기
from 모듈 import 클래스 # 모듈 내의 클래스 불러오기
form 모듈 import * # 모듈 내의 모든 함수 불러오기
불러온 모듈의 함수를 이용하려면 모듈.함수() 형식으로 사용해야한다.
import math_tools
# 모듈 변수
print(math_tools.PI)
3.141592653589793
# 모듈 함수
print(math_tools.add(10, 3))
print(math_tools.subtract(10, 3))
13
7
# 모듈 클래스
circle = math_tools.Circle(5)
print(circle.area())
78.53981633974483
# 필요한 속성, 클래스만 가져오기
from math_tools import PI, Circle
print(PI) #
circle = Circle(5)
print(circle.area())
3.141592653589793
78.53981633974483
속성만 가져오면 모듈명을 안써도 사용가능
# 모듈을 별명을 이용해서 사용하기
import math_tools as mt # as 를 이용하여 별명을 지정가능
print(mt.PI)
print(mt.add(5, 3))
print(mt.subtract(5, 3))
circle = mt.Circle(5)
print(circle.area())
3.141592653589793
8
2
78.53981633974483
모듈파일의 명이 길어서 불편할 경우 별칭을 붙여 사용이 가능하다.
※ __name__ 속성 사용하기
모듈에는 __name__ 이라는 특별한 내장 변수가 있습니다. 이 변수는 모듈이 어떻게 실행되는지에 따라 다른 값을 가집니다. 모듈이 파이썬 인터프리터에 의해 첫 번째로 실행되면, __name__ 은 '__main__'으로 설정됩니다. 그러나 외부에서 import되면, __name__ 은 원래의 모듈 이름으로 설정됩니다.
math_tools.py를 직접 실행하면 "이 모듈은 직접 실행되었습니다."가 출력되고, 다른 파일을 통해 실행하면 "이 모듈은 import 되었습니다."가 출력됩니다.
이 기능을 활용하면 모듈에 테스트 코드를 추가할 수 있습니다. 모듈이 직접 실행될 때만 테스트 코드가 실행되게 하면, 다른 스크립트에서 모듈을 가져올 때는 테스트 코드가 실행되지 않습니다.
패키지
패키지는 모듈들의 집합이다
파이썬에서 패키지는 모듈들을 포함하고 있는 디렉터리입니다. 모듈은 파이썬 코드를 담고 있는 파일이며, 여러 모듈을 논리적으로 그룹화하려는 경우 패키지를 사용합니다. 패키지를 사용하면 관련된 기능들을 함께 묶어서 코드를 더욱 체계적으로 관리할 수 있습니다.