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

Python 키움API 자동매매프로그램 개발-19.Python 기초편 함수(2) Return 사용

by 행복론자 2021. 1. 29.

시리즈 이전글입니다.

2021/01/28 - [파이썬/주식 자동매매] - Python 키움API 자동매매프로그램 개발-18.Python 기초편 함수(1)

 

 

예제로 만들어봤던 add 함수는 단순히 전달 받은 매개변수를 출력하고 종료하는 역할을 했습니다.

이렇게 함수 내부에서 외부로 값을 전달하지 않는 경우 add 함수 내부에서 일어난 일을 add 함수를 호출한 add(1, 3)에서 알지 못합니다. 



무슨 말이냐면 위 그림처럼 함수와 함수를 호출하는 실행영역이 구분되어 있는데 이 둘 사이의 연결고리가 없는 것입니다. 따라서 add(1,3)는 함수를 호출은 하지만 정작 add 함수로부터 어떠한 결과도 얻지 못합니다. 

 

이럴 경우 함수 내부에서 수행한 결과를 실행영역으로 전달 받기 위해서는 

return이라는 키워드를 이용해야 합니다. 

먼저 함수를 다음처럼 변경해보겠습니다. 

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



return 이란 키워드를 사용하면 return 이후 나오는 값이나 변수를 함수를 실행한 영역으로 전달하게 됩니다. 이렇게 return을 사용한 경우 다음 프로세스처럼 호출과 반환이 이루어집니다.



즉 함수 내부에 존재하는 return param1 + param2이 param1 + param2의 결과를 실행영역으로 전달하는 것입니다.

하지만 코드를 실행해보면 반환한 값이 어디로 갔는지 모르겠습니다. 

이는 함수를 호출한 add(1, 3)가 함수 호출 및 결과를 반환하는 역할을 하고 있습니다.

따라서 add(1, 3)가 값을 받는 역할도 하므로 함수 호출 결과를 가지고 있습니다.

add(1, 3)을 result라는 변수에 담아 출력해보겠습니다. 

result = add(1, 3)
print(result)  # 4 

 

 

add(1, 3)가 호출 이후 결과를 반환하며 그 값을 result에 저장하게 되었습니다.

result를 출력하면 1+3, 4라는 결과가 나오는 것을 알 수 있습니다. 

이후 변수 result를 다시 활용할 수도 있습니다. 

result = add(1, 3)

result2 = add(result, 5)

 

 

하지만 단순히 result에 결과를 담아 print() 함수로 출력하기만 한다면 꼭 변수에 저장하는 과정을 거치지 않아도 됩니다.

add(1, 3)가 이미 호출결과를 담고 있기에 print 함수로 전달하는 변수를 만들지 않고도 바로 출력해볼 수 있습니다.

print(add(1, 3))

 

 

이렇게 함수 내에서 사용하는 return은 실행영역으로 결과를 반환하는 역할이지만 동시에

‘함수를 종료한다’라는 의미도 있습니다. 물론 return을 사용하지 않고도 함수는 더이상 실행할 코드가 없으면 정상적으로 종료되어 왔습니다.

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

 

 

꼭 return을 사용해야 함수가 종료되는 것은 아니지만 return을 사용해 종료됨을 명시할 수 있습니다.

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

print_hello()

 

 

함수가 수행되다가 return을 만나게 되면 그대로 종료되므로 

다음처럼 return 다음에 코드를 넣는다면 그 코드는 실행되지 않습니다.

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

   print("Hello2")  # 출력되지 않음 

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 사용

 

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

댓글