Python 통화 교환 솔루션 Money 라이브러리 알아보기
오늘은 Python에서 통화 교환 솔루션 라이브러리인 Money 패키지에 대하여 간단히 알아보려 합니다.
Money 설치
우선 virtualenv로 파이썬 환경을 분리해줍니다.
pip3 install virtualenv
virtualenv -mvenv env
env라는 이름의 가상 환경을 생성합니다.
source env/bin/activate
가상환경을 폴더에서 활성화합니다.
pip3 install --upgrade pip
pip의 업그레이드가 존재하는지 확인하고 진행합니다.
pip install money
pip로 Money를 설치합니다.
돈 계산
from money import Money
money를 가져옵니다.
m = Money(2000, currency='KRW')
print(m.currency)
print(m.amount)
print(m)
통화를 지정하고 화폐 금액을 인자로 넣어 Money 객체를 생성할 수 있습니다.
m = Money(2000, currency='KRW')
print(m/2)
print(m*2)
print(m+1000)
print(m-1000)
숫자로 화폐의 단위를 추가하거나 뺴거나 곱하거나 나누면서 조작할 수 있습니다.
m = Money(2000, currency='KRW')
m2 = Money(4000, currency='KRW')
print(m*2 == m2)
서로 값이 같은지 비교할 수 있습니다.
class KRW(Money):
def __init__(self, amount='0'):
super().__init__(amount=amount, currency='KRW')
price = KRW('10000')
print(price)
Money의 하위 클래스를 만들어서 통화 프리셋을 만들 수 있습니다. 위와 같은 경우에는 KRW라는 하위 클래스로 통화 단위를 설정한 모습입니다.
환전
서로 다른 환율을 가진 화폐를 환전할 수 있습니다.
from decimal import Decimal
from money import Money, xrates
money와 decimal을 가져옵니다.
xrates.install('money.exchange.SimpleBackend')
xrates.base = 'USD'
xrates.setrate('USD', Decimal('1'))
xrates.setrate('KRW', Decimal('1165.95'))
현재 환율과 매우 유사하게 설정해보았습니다.
usd = Money(100, 'USD')
krw = Money(1, 'KRW')
100달러와 1원을 준비해보았습니다.
print(usd.to('KRW'))
print(krw.to('USD'))
print(usd.to('KRW') + krw)
달러를 원화로 바꾸어보면 환율이 적용되어 있음을 확인할 수 있습니다.
Written on May 5, 2019