[Python] Module에대한 이해

2025. 7. 12. 18:31python/python

Module이란? 

하나의 source code file을 그냥 module이라고 한다. 이 source file에는 함수가 들어있거나 프로그램의 일부를 담당할 때 module이라고 부르기도 한다. 어떤 함수를 만들었는데 한 번만 쓰고 버리기 아깝다면?. py 파일을 만들어서 다음에 쓰고 싶을 때 불러오면 된다. 이런 식으로 module을 사용한다. 

 

Module을 만들어보자. 

# module_ex.py 
def add_two_values(a,b): 
	return a + b 

def multiple_two_values(a,b): 
	return a * b

위의 두 함수를 module_ex.py 파일로 저장해 둔다. 

이제 add_two_values, multiple_two_values를 다른 파일에서 불러와 써보자. 이때, module file과 내가 작업하려는 file이 같은 위치에 있어야 한다.(same directory) 

 

import module_ex 

def main(): 
	a = float(input()) 
	b = float(input()) 
    
	apb = module_ex.add_two_values(a,b) 
	amb = module_ex.multiple_two_values(a,b) 
	return apb, amb 

main()

같은 directory내에 있으니깐 import를 통해서 불러온다. 이때, 나는 source file 자체를 import 했기 때문에 source file에 들어있는 함수를 사용하기 위해서는 "."을 이용해서 접근해야 한다(source_file.function_name). 

 

이때, module을 불러올 때 함수만 불러올 수도 있다. 

from module_ex import add_two_values, multiple_two_values

 

또, 각 module file의 이름과 함수의 이름을 as를 이용해 축약할 수 있다. 

import module_ex as mo 

from module_ex import add_two_values as atv 
from module_ex import multiple_two_values as mtv

이렇게 축약형으로 쓰게 되면 이점이 있는데 그것은 바로 작업하려는 파일에서 함수이름이 module file에 들어있는 함수 이름과 겹칠 때 중복을 피할 수 있다는 것이다. 

 

마지막으로, built-in function에 대해 알아보자. 

built-in function이란 "import 선언 없이 그냥 언제든 호출 가능한 함수를 가리켜 built-in function이라 한다."라고 윤성우 저자의 책에 나와있다. 

즉, 모듈의 저장 위치를 신경 쓰지 않고, 어디서든 import 할 수 있다는 것이다. 

예시로는 math라는 모듈이 있고, 이 안에는 40개가 넘는 함수가 있다고 한다. 

import math 

a = math.fabs(-10) 
print(a) # 10이 출력

 

Reference : 

윤성우의 열혈 파이썬 기초편 : 윤성우 저

'python > python' 카테고리의 다른 글

[python] class ; single underscore, double underscore  (0) 2025.08.17