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