어떠한 명령문도 수행하지 않고 그냥 넘어가고 싶을 때 사용하는 키워드
파이썬에서는 조건문 내부에 명령문이 하나라도 존재하지 않으면 에러 발생
for i in range(1, 11):
if i % 2 == 0: # 짝수인 경우
pass #아무런 명령문도 수행하지 않음
else:
print(f'{i}: 홀수')
1: 홀수
3: 홀수
5: 홀수
7: 홀수
9: 홀수
반복문을 중단하고 싶을 때 사용하는 키워드
while
문에서 주로 사용
반복문을 통해 명령문을 반복해서 수행하다 특정 조건을 만족할 때 더 이상 반복문을 수행하지 않고 해당 반복문을 빠져나가고 싶을 때 break
키워드를 사용하여 반복 조건에 관계없이 가장 가까운 반복문을 즉시 탈출할 수 있음
a = 4
for i in range(1, 11):
if i == a:
break
print(i)
print('loop 종료')
1
2
3
loop 종료
i
가 a
의 값인 4
와 같은 경우, 즉시 반복문을 종료5
부터 10
까지는 출력되지 않음print
문 실행i
와 a
의 값이 같을 때, continue
키워드를 실행a = 4
for i in range(1, 11):
if i == a:
continue
print(i)
print('loop 종료')
1
2
3
5
6
7
8
9
10
loop 종료
continue
키워드로 인해 i
가 4
일 때 print(i)
가 실행되지 않고, 바로 i
가 5
인 경우로 넘어감break
키워드와 다르게 5
부터 10
까지 모두 출력됨
- 함수는 return을 만나면 그냥 그 함수를 빠져나가게 됨
- 뒤에 어떤 조건문이 있든 반복문이 있든 상관없이 바로 나감
- 반복문 도중이라고 해도 return 만나면 바로 빠져나감
def make_function(a, b) return a return b print(make_function(1, 2))
- 위 경우
return b
는 dead code임
return a
를 통해 함수가 종료되어 버리기 때문에return b
는 실행할 수 없음- 만약 a, b를 둘 다 return해서 쓰고 싶다면 아래와 같이 쓰면 됨
- return 을 튜플이라는 형태로 반환한 뒤 x, y 에 튜플로 반환된 값을 언패킹
def make_function(a, b): return a, b x, y = make_function(1, 2)) print(x, y) # 1 2
def hello(name):
return 'hello ' + name
print(hello) # 무시된다.
print('함수 실행 전')
print(hello('python'))
print('함수 실행 후')
함수 실행 전
hello python
함수 실행 후
for i in range(1, 11):
print(i)
exit()
print('loop 종료')
1
exit()
의 적용 범위는 루프가 아닌 프로그램이기 때문에, 루프 밖에 있는 print('loop 종료')
도 실행되지 않음