[Python] 흐름 제어와 관련된 키워드(pass, break, continue, return)와 exit()

kiteB·2021년 12월 13일
0

Python

목록 보기
3/6
post-thumbnail

오늘은 파이썬에서 흐름 제어와 관련된 다양한 키워드에 대해서 알아보려고 한다. 추가로 exit() 메서드까지 살펴보자!


[ pass ]

어떠한 명령문도 수행하지 않고 그냥 넘어가고 싶을 때 사용하는 키워드

다른 프로그래밍 언어에서는 이와 같은 경우 조건문 내부에 아무런 명령문도 명시하지 않으면 되지만, 파이썬에서는 조건문 내부에 명령문이 하나라도 존재하지 않으면 에러가 발생한다.

따라서 파이썬에서는 이런 경우 사용할 수 있도록 pass 라는 키워드를 별도로 제공하고 있다.

예제

for i in range(1, 11):
    if i % 2 == 0:  # 짝수인 경우, 아무런 명령문도 수행하지 않는다.
        pass
    else:
        print(f'{i}는 홀수')

1부터 10까지의 숫자들 중에서 홀수인 경우만 출력하고 싶은 경우, 짝수일 때 pass 키워드를 이용하면 된다.

실행 결과

1는 홀수
3는 홀수
5는 홀수
7는 홀수
9는 홀수

[ break ]

반복문을 중단하고 싶을 때 사용하는 키워드. while문에서 특히 자주 사용된다!

반복문을 통해 명령문을 반복해서 수행하다 특정 조건을 만족할 때 더 이상 반복문을 수행하지 않고 해당 반복문을 빠져나가고 싶을 때가 있다.

이런 경우 break 키워드를 사용하여 반복 조건에 관계없이 가장 가까운 반복문을 즉시 탈출할 수 있다.

예제

a = 4

for i in range(1, 11):
    if i == a:
        break
    print(i)

print('loop 종료!')

1부터 10까지의 숫자들 중에서 a 변수와 값이 같으면 반복문을 빠져나가도록 해보자.

실행 결과

1
2
3
loop 종료!

ia의 값인 4와 같은 경우, 즉시 반복문을 종료한다. 그래서 5부터 10까지는 출력되지 않는다.

반복문은 빠져나왔지만, 반복문 밖에 있는 print문은 실행된다.


[ continue ]

해당 루프만 즉시 종료하고 다음 루프를 실행시키고 싶을 때 사용하는 키워드

continue 키워드는 해당 키워드 바로 다음 명령문부터 해당 반복문의 마지막 명령문까지를 모두 건너뛰고 바로 다음 반복을 실행한다.

예제

a = 4

for i in range(1, 11):
    if i == a:
        continue
    print(i)

print('loop 종료')

이번에는 ia의 값이 같을 때, continue 키워드를 실행하도록 하였다.

실행결과

1
2
3
5
6
7
8
9
10
loop 탈출!

continue 키워드로 인해 i4일 때 print(i)가 실행되지 않고, 바로 i5인 경우로 넘어간다.

break 키워드와 다르게, 5부터 10까지 모두 출력된다.


[ return ]

(함수 안에서 쓰일 때) 함수 실행을 종료하고, 그 함수를 호출한 곳으로 값을 반환해주고 싶을 때 사용하는 키워드

만약 함수 내에 return에 대한 정의가 없으면, 결과값으로 None을 반환하도록 되어있다.

예제

def hello(name):
    return 'hello ' + name
    print(hello)    # 무시된다.


print('함수 실행 전')
print(hello('python'))
print('함수 실행 후')

실행 결과

함수 실행 전
hello python
함수 실행 후

함수 내에서 return을 만나게 되면 함수 실행을 종료하게 되어, 밑에 있는 print문이 무시된다.


[ exit() ]

프로그램 전체를 종료하고 싶을 때 사용하는 메서드

예제

for i in range(1, 11):
    print(i)
    exit()
    
print('loop 종료')

실행 결과

1

exit()의 적용 범위는 루프가 아닌 프로그램이기 때문에, 루프 밖에 있는 print('loop 종료')도 실행되지 않는다.


[ 📘 Reference ]

http://www.tcpschool.com/python2018/python_flow_ect
https://tturbo0824.tistory.com/8
https://garlicsnackbar.tistory.com/6
https://www.delftstack.com/ko/howto/python/python-exit-program/#exit%25EB%25A9%2594%25EC%2584%259C%25EB%2593%259C%25EB%25A1%259C-python-%25ED%2594%2584%25EB%25A1%259C%25EA%25B7%25B8%25EB%259E%25A8-%25EC%25A2%2585%25EB%25A3%258C

profile
🚧 https://coji.tistory.com/ 🏠

0개의 댓글