더북(TheBook)

 

11.1

모듈 다루기

자동차를 운전하다가 접촉 사고로 범퍼가 파손되거나 오랜 주행으로 타이어가 마모되면 자동차를 수리해야 합니다. 자동차는 엔진, 차체, 범퍼, 타이어 등 여러 부품을 조립해 만듭니다. 그래서 정비소에 가서 파손된 부위만 교체하면 됩니다.

그런데 자동차가 부품 조합이 아닌 일체형이라면 어떨까요? 범퍼가 찌그러지거나 타이어가 마모되면 부품 교체가 아니라 차 전체를 새로 사야 할지도 모릅니다. 그러면 비용도 훨씬 많이 들고 수리 기간도 꽤 오래 걸릴 겁니다.

이와 마찬가지로 소프트웨어도 전체 프로그램을 바꾸지 않고 코드 일부만 교체하거나 추가할 수 있게 만들면 유지보수도 쉽고 코드의 재사용성도 높아집니다. 파이썬에서는 서로 관련이 있거나 비슷한 기능을 하는 함수, 클래스 등을 담고 있는 파일을 제공하는데 이를 모듈(module)이라 합니다. 그리고 자동차가 일체형이 아닌 부품(모듈)으로 이루어져 있으면 수리가 쉽듯이, 파이썬에서도 개발을 용이하게 하기 위해 프로그램의 기능을 독립적인 작은 단위로 나누는 작업을 모듈화(modularization)라고 합니다.

3장에서 random 모듈을 가져다 사용한 것을 기억하나요? 난수를 생성하는 함수들을 모아 둔 random 모듈 덕분에 별도의 함수를 정의할 필요 없이 random 모듈을 import하면 바로 난수 생성 함수를 사용할 수 있습니다. 파이썬에는 이미 많은 모듈이 정의돼 있지만, 개발하다 보면 새로운 모듈이 필요할 때가 있습니다. 그래서 이 장에서는 직접 모듈을 만들어 보겠습니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.