본문 바로가기
코인 봇

파이썬 모듈,라이브러리, 함수를 알아보자(김프자동매매02)

by 포비트 2022. 10. 2.
반응형

*본블로그는 초보코딩러가 배운것들을 잊지않고 기억하기 위한 일기장이자, 저와같은 길을 걷는 초보들을 위한 공간입니다. 

 

파이썬으로 김프 자동매매주문이라는 맛있는 요리를 만들기 위해서는 먼저 재료를 준비해야 합니다. 

대상코인은 비트코인으로 할게요.

 

1. 업비트 비트코인 가격정보 

2. 바이낸스 비트코인 가격정보 

3. 환율정보

4. 비트코인의 김프구하는 공식

 

이렇게 4가지재료를 구할수 있다면 우리가 원하는 김프값에 도달했을때, 매수주문 매도주문을 넣어서 김프 자동매매를 해볼 수 있게 됩니다. 

그럼 위의 4가지 재료를 구하려면 어떻게 해야 할까요? 

먼저 파이썬의 모듈, 라이브러리, 함수 개념을 알고 적절하게 사용해야 합니다. 

파이썬, 자바등 대표적인 코딩언어의 위대함은 내가 구현하고 싶은 기능은 이미 누군가가 모듈, 라이브러리, 함수형식으로 구현을 해놨을 가능성이 많다는 점입니다. 그래서 내가 어떠한 프로그램을 만들때 드는 시간을 대폭 줄일 수 가 있다는 것이지요.

 

파이썬 함수란?

함수 개념부터 설명하겠습니다. 함수는 '특정명령어를 실행시켜주는것'이라고 할수 있으며 '기능', 즉 'function'이라고도 부릅니다. 아래는 원달러 환율api를 호출해서 실시간으로 환율을 출력해주는 함수입니다. 

def get_usdkrw()는 '함수명'을 지정해주는 줄이며, 그 다음5줄은 함수를 동작시켰을때 실행되는 '함수의 내용'입니다.  

# 1달러당 원화 시세
def get_usdkrw():
    headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36'}
    exchange =requests.get(url, headers=headers).json()
    return exchange[0]['basePrice']
 

미리 저렇게 함수를 지정해놓으면 실제 프로그램을 동작시킬때에는 아래처럼 '함수명'만 입력하면 환율이 출력됩니다.

a=get_usdkrw()

print(a)

1440

 

무려 5줄을 1줄로 줄일수 있으니 엄청 이득이죠? 이렇게 함수는 특정명령어가 너무 길때, 그리고 자주사용할때 함수를 지정하며 사용합니다. 

 

파이썬 모듈이란?

모듈 개념도 쉽습니다. 

간단히 말하면 모듈은 '함수들의 집합'입니다. 

위와 같은 함수를 제가 10개를 만들었다고 가정해볼게요. 예를들어 원달러환율 함수를 시작으로, 원엔화환율함수, 원유로화함수, 엔달러함수등 환율이라는 주제로만 함수를 10개, 100개도 만들어 낼수 있습니다. 

그런데 그때마다 하나의 파일에 저렇게 함수를 일일히 지정한다면 파일이 굉장히 복잡하고 지저분해지겠죠? 

이럴때 모듈의 개념이 필요합니다. 

 

내가 사용하는 함수가 10개가 넘어서 따로 관리하고 싶을때 우리는 .py파일을 만들어서 우리가 만든 함수들을 모조리 집어 넣을수가 있습니다. 이때 이파일을 '모듈'이라고 부릅니다.

환율 함수를 모두  zamcoding.py라는 파일에 넣고 저장한뒤에 우리는 그 함수들이 필요할때마다 

import   zamcoding

이라고 한줄만 추가하면 언제든지 쉽게 환율정보를 불러올 수 있게 됩니다. 

 

파이썬 라이브러리란?

라이브러리는 '모듈의 집합'입니다. 모듈이 들어간 py파일이 10개 20개가 한 폴더에 묶여있다면 이를 '라이브러리'라고 부릅니다. 그리고 라이브러리는 우리가 좀더 복잡하고 고도화된 명령을 수행시키고, 프로그램을 동작시켜야할때 필요합니다. 모듈은 '여러나라의 다양한 환율값을 출력해준다'다면 라이브러리는 '출력된 환율값을 바탕으로 코인주문을 한다'가 되겠죠. 그래서 라이브러리는 보통 뛰어난 개발자들이 미리 만들어놓고, 우리는 필요할때 편하게 라이브러리를 다운로드받아서 설치한 후에 사용하면 됩니다. 결국 함수, 모듈, 라이브러리가 만들어진 이유는 우리가 좀더 편리하게 프로그램을 만들수 있게 만들기 위함입니다. 

 

다시 재료 이야기로 돌아가겠습니다. 

우리에게 필요한 재료는 업비트가격정보, 바이낸스 가격정보, 환율정보, 김프구하는 공식 이렇게 4가지였는데요. 

1. '업비트가격정보'와 '바이낸스 가격정보'는 암호화폐관련 '라이브러리'를 설치한후 구할수 있습니다.

2. 김프구하는 공식과 환율정보는 따로 함수를 만들어서 구할수 있구요. 제경우는 각각 함수를 만들어서 모듈파일에 포함시켰습니다.  

 

다음시간에는 필요한 라이브러리를 설치하고, 필요한 모듈과 함수를 만들면서 자동매매프로그램을 만들어 보겠습니다. 

생각보다 본론으로 들어가는게 쉽지 않네요.ㅎㅎ

반응형