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

Python 키움API 자동매매프로그램 개발-17.Python 기초편 반복문(4) 반복문 제어

by 행복론자 2021. 1. 28.

시리즈 이전글입니다.

2021/01/27 - [파이썬/주식 자동매매] - Python 키움API 자동매매프로그램 개발-16.Python 기초편 반복문(3) 중첩 반복문

 

 

반복문을 제어한다는 것은 반복 도중에 중단하거나 더이상 반복하지 않고 실행을 생략하는 것을 의미합니다. 여기서 사용하는 키워드는 break와 continue가 있으며 이 키워드들은 반복문 내에서만 사용할 수 있습니다. 

각각의 쓰임새를 보면 다음과 같습니다. 

break: 반복문을 종료시킴
continue: continue 밑의 코드는 생략하고 다음 반복으로 넘어감

 

 

하나씩 예를 들어 살펴보겠습니다.

반복문을 실행하던 중 break를 만나게 되면 그 즉시 반복문을 종료하게 됩니다.

for i in range(1,10):
  print("{} * {} = {}".format(2, i, 2*i))
  break

 

 

실행해보면 딱 한번의 출력이 이루어지고 바로 종료됩니다. 

i가 원래는 1부터 10까지 반복될 예정이었지만 첫 실행에서 print 이후 break를 만나게 되었습니다. 그 즉시 반복문이 종료되어 버립니다.

2 * 1 = 2

 

 

break를 만나는 즉시 반복문을 빠져나오게 되므로 다음처럼 코드를 만들면 

break 밑 영역 코드는 아무것도 실행되지 않습니다.

for i in range(1,10):  
  break
  print("{} * {} = {}".format(2, i, 2 * i))

 

 

물론 이렇게 코드를 만들면 반복문으로 만들지 않은 것만 못하니 보통은 다음처럼

반복문을 계속 수행하다 조건에 부합하는지를 확인하고 더 이상 실행하지 않아도 될 때 

종료시키는데 사용하는 편입니다.

while True:
  반복할코드
  
  if 조건:
      break

 

 

여기서 중요한 것은 break는 자신을 감싸고 있는 모든 반복문을 종료시키는 것이 아니라

가장 가까운 반복문만 종료시키는 역할을 합니다.

while 조건1:
  실행영역1
  
  while 조건2:
      실행영역2
      
      if 조건3:
          break

 

코드를 보면 중첩 반복문을 사용하여 조건2를 사용하는 두번째 반복문에서 조건3에 해당하면

반복문을 종료시키는 break를 사용했습니다.

 

만약 코드를 실행하던 중 조건3에 해당하여 break에 도달하게 된다면 조건2를 사용하는 두번째 반복문이 종료되고 조건1을 사용하는 첫번째 반복문은 해당되지 않기 때문에 실행영역1은 계속 반복됩니다.

 

break의 사용은 반복문을 종료시키는 역할을 하지만 모든 반복문을 종료시키는 것은 아니고 break를 감싸고 있는 가장 가까운 반복문만을 종료시킨다는 것을 기억하시길 바랍니다

 

마지막으로 continue의 사용에 대해 알아보겠습니다.

continue는 반복문을 진행하다 continue에 도달하게 되면 그 밑에 코드들을 전부 생략해버리고 다음 반복으로 넘어가버립니다. 

예를 들어 보겠습니다. 

다음 for문을 사용하면 2부터 10에 해당하는 숫자를 출력하고 그 다음 줄에는 그 수에 제곱을 출력합니다. 

for i in range(2, 10):
  print(i)
  print(i * i)

 

 

실행 결과는 다음과 같습니다.

2
4
3
9
4
16
5
25
...

 

하지만 위 코드에 continue를 넣게 되면 

제곱을 출력하는 print(i * i)는 무시됩니다. continue 밑에 코드들은 실행되지 않기 때문입니다. 

for i in range(2, 10):
  print(i)

  continue
  print(i * i)

 

하지만 반복문 자체를 종료시키는 break와는 달리 반복문은 계속 실행됩니다.

다만 i값이 하나 증가하여 다시 실행되더라도 여전히 continue 밑의 영역은 실행되지 않습니다. 

2
3
4
5
...

 

 

continue도 단순히 사용하면 밑에 만들어진 코드들을 무조건 무시해버리게 되므로 다음처럼 조건에 해당될 때만 continue에 진입하도록 사용하는 것이 보통입니다. 

while 반복조건:
  반복할코드1  
  if 조건:
      continue

   반복할코드2

 

 

이렇게 코드를 만들 경우 반복할 코드1, 2를 잘 실행하다가 if 조건에 부합하게 되면 

continue에 진입하게 됩니다. 이후에는 반복할코드2는 실행되지 않게 되는 코드입니다.

 

 


같이 보시면 좋을 글

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

 

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

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

jsp-dev.tistory.com

 

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

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

댓글