회사에서 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에서 확인할 수 있습니다.
* 참고 사이트
파이썬(Python) 바로 알기 – 특징, 장점, 활용 사례(https://library.gabia.com/contents/9256/)
※ 이 글은 주니어 개발자의 삽질과 공부한 결과를 저장한 문서입니다.
잘못된 내용이 있을 수 있으니 단순한 참고만 부탁드리며, 댓글로 정확한 내용을 적어주시면 더 많은 분들에게 좋은 정보를 공유하는 좋은 기회가 될 것 입니다!
'개발자, 탐구생활 > 개발자, 코딩' 카테고리의 다른 글
[js]Google charts.js로 데이터 시각화를 해보자. (0) | 2021.08.08 |
---|---|
[python]openpyxl을 이용해서 excel 파일 만들기 (0) | 2021.07.27 |
[python]파이썬 기초2 - 파이썬 패키지 알아보기 (0) | 2021.07.19 |
[js]data tables.js 사용하기 (0) | 2021.07.06 |
[php]우분투에 Codeigniter 4 셋팅하기. (0) | 2021.06.25 |