회사에서 php로 된 프로그램을 Python으로 마이그레이션을 할 기회가 생겼습니다.
처리해야할 데이터가 점차 많아지면서 php로는 처리속도가 늦어, 데이터 처리에 Python이 빠르다는 장점이 있어서 마이그레이션을 진행하기로 했습니다.
1. Python 이란?
Python은 1990년에 귀도 반 로섬(네덜란드어: Guido van Rossum, 1956년 1월 31일 ~) 이라는 개발자에 의해 탄생한 언어로, 인터프리터 형식을 가지고 있는 언어입니다.
- 스크립트 언어 : Python은 해석기인 인터프리터가 소스코드를 한 줄씩 해석하여 실행하는 방식입니다.
- 동적 타이핑 : Python은 변수 선언시 자료형을 명시하지 않습니다. 실제로 사용해본 결과, Python은 자료형의 예민(?) 한 듯하여 변수를 사용할 때, 자료형을 주의하지 않으면 에러가 자주 발생합니다.
- 독립적 플랫폼 : Python은 운영체제마다 컴파일 할 필요가 없기 때문에, 한 번 코드를 작성해두면 운영체제에 상관없이 모두 실행할 수 있습니다.
Python은 다양한 라이브러리를 지원하고 있기 때문에, 타 언어 대비 생산성이 높은 특징이 있습니다.
2. Python 모듈이란?
Python에서 모듈이란, 변수, 함수, 클래스 등을 모아놓은 파일입니다. Python으로 코딩시 다른 사람이 만들어둔 모듈을 사용하거나 공통적으로 사용되는 변수, 함수 등을 모아 사용할 때 편리합니다.
모듈을 사용하는 방법은 import 키워드를 사용합니다.
예시로 random 모듈 사용 방법을 알아보겠습니다.
random이라는 모듈을 가져와 모듈이 가지고 있는 randrange라는 함수를 호출한 예제입니다.
파라메터로 두 숫자를 받아, 숫자 사이의 임의의 숫자를 리턴합니다.
원하는 모듈을 직접 만드는 것도 가능합니다. 주로 공통적으로 많이 사용되는 변수, 함수 등은 공통 모듈로 작성해두면 코드의 길이도 줄일 수 있고, 생산성도 높일 수 있습니다.
모듈로 사용할 module.py와 모듈을 import해서 사용할 main.py를 만들어서 확인해보겠습니다.
위 코드를 실행하면 6 이라는 결과를 확인할 수 있습니다.
모듈에는 여러개의 함수와 변수도 함께 사용할 수 있습니다.
이해를 돕기 위해 "지갑" 이라는 모듈을 사용하는 예제를 살펴보겠습니다.
wallet 이라는 모듈에는 잔액이라는 변수와 수입, 지출, 잔액 확인 3가지 함수가 있고, 모듈을 사용하는 use_wallet에서 3가지 함수를 사용했습니다. global 키워드는 해당 함수를 전역 변수로 사용하겠다는 키워드입니다.
오늘은 Python의 모듈에 대해서 간단하게 알아보았습니다.
위 예제는 아래 git hub에서 확인할 수 있습니다