에르노트
파이썬 return, break, continue 본문
return문은 함수의 실행을 끝맺는 문장이다. 기본 기능은 수식을 계산해서 그 결과값을 돌려주는 것으로, 함수 내용물 안 어디서나 사용할 수 있다. 함수의 내용물 중간에서 return문이 실행되면 결과값이 반환되며 함수는 중단된다.
return문과 비교되는 문장이 break문이다. return문이 함수의 실행을 중단하기 위해 쓰인다면, break문은 반복문의 실행을 중단하기 위해 쓰인다. 보통은 함수의 내용물로 반복문이 들어가기에 return의 조금 더 국소적인 버전이라 볼 수도 있다. 반복을 구성하는 조건문에서, if부분에서 이미 조건이 충족되어 원하는 실행이 모두 완료된다면 굳이 else부분이 없어도 된다는 것이다. if문의 실질적인 내용물 아래에 break를 적어줌으로써 반복문을 아예 탈출할 수 있다.
break와 비슷해보이지만 또 다른 문장으로 continue문이 있다. continue문 역시 break문처럼 뒷 내용물을 생략한다. 하지만 break문은 전체 반복을 중단한다면 continue문은 딱 그 시점의 한번의 반복만을 중단하고 반복문의 처음 줄로 돌아가서 다음번 반복을 수행한다. 그래서 while문보다는 for문과 함께 쓰는 것이 더 어울리고, 특정 반복에 대한 이하 내용을 무시하는 것이 목적이기 때문에 조건을 뒤집어서 사용하는 것이 보다 효율적이게 된다.
for number in numbers:
if 조건_만족:
# 문장 1
# 문장 2
# 문장 3
이렇게 적힌 반복문에 continue문을 쓰고 싶다면,
for number in numbers:
if not 조건_만족:
continue
# 문장 1
# 문장 2
# 문장 3
이렇게 적을수도 있다는 것이다. 초록색 박스에서는 들여쓰기가 한 단 더 들었는데, 파란색 박스에서는 한 단 덜 들여쓰는 대신 continue문이라는 한 줄을 더 적게된다고 보면 된다.
이번에 살펴본 세가지 문장들의 공통점은 바로 실행하면 내용물의 실행을 중단한다는 것이다.
차이점을 정리하자면 다음과 같다.
• return문: 함수의 실행을 중단 + return값 건네주기. 코드를 절약에 용이함.
• break문: 해당 break문을 내용물로 갖는 가장 가까운 반복문의 실행을 중단(다음 문장으로 감). return문처럼 코드 절약 용도로 사용 가능.
• continue문: continue문을 내용물로 갖는 가장 가까운 반복문의 '이번 반복'을 중단(맨 위로 감). for문이랑 잘 어울림.
'Dev > Python' 카테고리의 다른 글
파이썬 예외처리 (try: except:) (1) | 2021.05.09 |
---|---|
[python pip] Fatal error in launcher: 오류 해결법 (0) | 2019.10.31 |
파이썬 연산자 우선순위 (0) | 2018.04.24 |
파이썬 시퀀스 & for문 (0) | 2018.04.13 |