본문 바로가기
파이썬/주식 자동매매

Python 키움API 자동매매프로그램 개발-18.Python 기초편 함수(1)

by 행복론자 2021. 1. 28.

시리즈 이전글입니다.

2021/01/28 - [파이썬/주식 자동매매] - Python 키움API 자동매매프로그램 개발-17.Python 기초편 반복문(4) 반복문 제어

 

 

우리가 수학시간에 배운 함수란 특정값을 전달하면 그 값을 가지고 계산한 결과를 얻었습니다.

프로그래밍에서 말하는 함수도 이와 크게 다르지 않습니다. 

수행하고자 하는 함수 로직을 만들고 값을 전달해 사용하면 됩니다.

하지만 지금까지는 딱히 함수를 정의해본 적 없이 사용만 해왔습니다.

예를 들면 print()입니다.

print() 함수 내부에서 어떤 처리를 하는지는 정확히 몰라도 사용하는 입장에서는 단순히 출력하고 싶은 값이나 변수를 전달하면 출력영역에 출력하는 역할을 수행했습니다.

print(출력하고 싶은 값 or 변수)
print(출력하고 싶은 값 or  변수, 출력하고 싶은 값 or  변수, 출력하고 싶은 값 or  변수,...)

 

 

이렇게 사용자가 정의하지 않고도 Python에서 기본적으로 사용할 수 있도록 정의해놓은 함수들을 내장함수(builtin functions)라고 합니다. 하지만 사용자가 직접 함수를 만들고자 한다면 다음과 같은 문법을 사용해야 합니다.

def 함수이름(매개변수1, 매개변수2, 매개변수3, ...):
  함수 안에 로직

 

 

Python에서 함수를 정의할 때는 def라는 키워드를 쓴 다음 한칸 띄고(space bar) 함수의 이름과 함수로 전달할 매개변수(parameter)를 만듭니다. 그 다음 라인부터는 함수를 실행할 때 수행할 로직이 들어갑니다.

그럼 사용자로부터 입력값을 두 개 받아 둘을 더한 값을 출력하는 함수를 만들어보겠습니다.

def add(param1, param2):
  print(param1+param2)
  
add(1, 3)

 

 

add라는 함수를 만들어 1과 3을 전달해 두 값을 더한 결과를 출력하는 함수를 만들었습니다.

실행하면 add(1, 3)을 통해 호출하면 함수를 정의할 때 사용한 param1 자리에는 1이 전달되고

param2 자리에는 3이 전달되어 4라는 결과가 잘 나옵니다.

위 설명을 그림으로 표현해보겠습니다.

 

 

이 과정에서 알 수 있는 사실은 다음과 같습니다.

(1)함수를 정의만 하고 사용하지 않으면 함수내부 로직이 실행되지 않습니다. 

def add(param1, param2):
  print(param1+param2)

 

 

(2)함수를 정의 전에 먼저 사용하려고 하면 에러가 발생합니다.

add함수가 정의되기 전에 add(1, 3)을 사용하다보니 다음처럼 add 함수 밑에 빨간색 밑줄이 쳐지며 에러가 발생한다는 것을 알 수 있습니다.



(3)함수에 전달하는 매개변수, parameter의 이름과 개수는 자유롭게 정할 수 있지만

함수를 호출할 때는 정의된대로 사용해야합니다.

다음처럼 add 함수를 정의하는 부분에는 매개변수를 하나만 쓰겠다고 만들어놓고 

사용할 때는 매개변수를 두 개 사용할 수 있는것처럼 add(1, 3)과 같이 호출하면 에러가 발생합니다. 

def add(param1):
  print(param1)
  
add(1, 3)

# TypeError: add() takes 1 positional argument but 2 were given

 

 

(4)매개변수를 아예 정의하지 않고 사용할 수도 있지만 이 경우 굳이 함수를 만들어야 할 필요가 있는지 판단할 필요가 있습니다

def print_hello():
  print("Hello")
  
print_hello()

 

 


같이 보시면 좋을 글

2021/02/10 - [파이썬/주식 자동매매] - 주식매매프로그램 개발 노하우, 소스를 담은 전자책이 발간되었습니다.

 

주식매매프로그램 개발 노하우, 소스를 담은 전자책이 발간되었습니다.

주식매매프로그램 개발 노하우에 관한 제 전자책이 발간되었습니다. https://kmong.com/gig/292764 주식매매프로그램, 쉽게 따라 만드는 노하우와 소스를 드립니다. | 36000원부터 시작 가능한 총 평 0개

jsp-dev.tistory.com

 

2021/01/29 - [파이썬/주식 자동매매] - Python 키움API 자동매매프로그램 개발-19.Python 기초편 함수(2) Return 사용

 

반응형
이 포스팅은 쿠팡파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.

댓글