오늘은 파이썬에서 흐름 제어와 관련된 다양한 키워드에 대해서 알아보려고 한다. 추가로 exit()
메서드까지 살펴보자!
어떠한 명령문도 수행하지 않고 그냥 넘어가고 싶을 때 사용하는 키워드
다른 프로그래밍 언어에서는 이와 같은 경우 조건문 내부에 아무런 명령문도 명시하지 않으면 되지만, 파이썬에서는 조건문 내부에 명령문이 하나라도 존재하지 않으면 에러가 발생한다.
따라서 파이썬에서는 이런 경우 사용할 수 있도록 pass
라는 키워드를 별도로 제공하고 있다.
for i in range(1, 11):
if i % 2 == 0: # 짝수인 경우, 아무런 명령문도 수행하지 않는다.
pass
else:
print(f'{i}는 홀수')
1부터 10까지의 숫자들 중에서 홀수인 경우만 출력하고 싶은 경우, 짝수일 때 pass
키워드를 이용하면 된다.
1는 홀수
3는 홀수
5는 홀수
7는 홀수
9는 홀수
반복문을 중단하고 싶을 때 사용하는 키워드.
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 종료!
i
가 a
의 값인 4
와 같은 경우, 즉시 반복문을 종료한다. 그래서 5
부터 10
까지는 출력되지 않는다.
반복문은 빠져나왔지만, 반복문 밖에 있는 print
문은 실행된다.
해당 루프만 즉시 종료하고 다음 루프를 실행시키고 싶을 때 사용하는 키워드
continue
키워드는 해당 키워드 바로 다음 명령문부터 해당 반복문의 마지막 명령문까지를 모두 건너뛰고 바로 다음 반복을 실행한다.
a = 4
for i in range(1, 11):
if i == a:
continue
print(i)
print('loop 종료')
이번에는 i
와 a
의 값이 같을 때, continue
키워드를 실행하도록 하였다.
1
2
3
5
6
7
8
9
10
loop 탈출!
continue
키워드로 인해 i
가 4
일 때 print(i)
가 실행되지 않고, 바로 i
가 5
인 경우로 넘어간다.
break
키워드와 다르게, 5
부터 10
까지 모두 출력된다.
(함수 안에서 쓰일 때) 함수 실행을 종료하고, 그 함수를 호출한 곳으로 값을 반환해주고 싶을 때 사용하는 키워드
만약 함수 내에 return
에 대한 정의가 없으면, 결과값으로 None
을 반환하도록 되어있다.
def hello(name):
return 'hello ' + name
print(hello) # 무시된다.
print('함수 실행 전')
print(hello('python'))
print('함수 실행 후')
함수 실행 전
hello python
함수 실행 후
함수 내에서 return
을 만나게 되면 함수 실행을 종료하게 되어, 밑에 있는 print
문이 무시된다.
프로그램 전체를 종료하고 싶을 때 사용하는 메서드
for i in range(1, 11):
print(i)
exit()
print('loop 종료')
1
exit()
의 적용 범위는 루프가 아닌 프로그램이기 때문에, 루프 밖에 있는 print('loop 종료')
도 실행되지 않는다.
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