본문 바로가기

카테고리 없음

파이썬 코드 흐름을 제어하는 pass, continue, break

조건문이나 반복문을 돌리다 보면 중간에 코드 흐름을 제어해야 할 필요가 있습니다. 예를 들어 특정 조건을 만족하면 코드 실행을 건너뛴다던가, 중단한다거나 등의 동작이 필요한 경우입니다. 이번 포스팅에서는 종종 헷갈리는 세 가지 흐름 제어문을 알아보겠습니다.

 

구분 설명
pass 아무것도 하지 않고 다음 코드를 실행
continue 다음 순서의 반복문(loop)을 실행
break 반복문(loop) 실행을 중단

 

예제 코드를 통해 각각을 알아보겠습니다. 다음과 같인 생긴 코드에 각각의 흐름 제어문을 넣어보겠습니다. 구구단 1단에서 3단까지를 만들었습니다.

 

for i in range(1,4):
  for j in range(1,4):
    print(f"{i} x {j} = ", i * j)
    
"""
1 x 1 =  1
1 x 2 =  2
1 x 3 =  3
2 x 1 =  2
2 x 2 =  4
2 x 3 =  6
3 x 1 =  3
3 x 2 =  6
3 x 3 =  9
"""

 

pass 

pass는 아무 동작도 하지 않고 다음 코드를 실행시킵니다. 때문에 결과는 바뀌는 것이 없습니다.

 

for i in range(1,4):
  if i == 2:
    pass
  for j in range(1,4):
    print(f"{i} x {j} = ", i * j)
    
"""
1 x 1 =  1
1 x 2 =  2
1 x 3 =  3
2 x 1 =  2
2 x 2 =  4
2 x 3 =  6
3 x 1 =  3
3 x 2 =  6
3 x 3 =  9
"""

 

continue 

i의 값이 2일 때 continue를 이용해서 해당 순서의 반복문을 건너뛰고 바로 그 다음 순서의 반복문을 실행시켰습니다. 출력 결과를 보면 구구단 2단이 사라졌습니다.

 

for i in range(1,4):
  if i == 2:
    continue
  for j in range(1,4):
    print(f"{i} x {j} = ", i * j)
    
"""
1 x 1 =  1
1 x 2 =  2
1 x 3 =  3
3 x 1 =  3
3 x 2 =  6
3 x 3 =  9
"""

 

break 

i의 값이 2인 경우 제어문 break가 동작하여 반복문 실행이 중단되었습니다. 출력 결과를 보면 구구단 1단만 나타내게 됩니다.

 

for i in range(1,4):
  if i == 2:
    break
  for j in range(1,4):
    print(f"{i} x {j} = ", i * j)
    
"""
1 x 1 =  1
1 x 2 =  2
1 x 3 =  3
"""

 

 

- 이 글은 아나콘다(Anaconda3)가 설치된  주피터 노트북에서 작성되었습니다.