pass, break, continue, return, exit()

Suhyeon Lee·2024년 10월 22일
0

pass

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

  • 파이썬에서는 조건문 내부에 명령문이 하나라도 존재하지 않으면 에러 발생

    • 다른 프로그래밍 언어에서는 조건문 내부에 아무런 명령문도 명시하지 않으면 그냥 넘어간다고 함

예제

  • 1부터 10까지의 숫자 중 홀수만 출력
for i in range(1, 11):
    if i % 2 == 0:  # 짝수인 경우
        pass #아무런 명령문도 수행하지 않음
    else:
        print(f'{i}: 홀수')

실행 결과

1: 홀수
3: 홀수
5: 홀수
7: 홀수
9: 홀수

break

  • 반복문을 중단하고 싶을 때 사용하는 키워드

  • while문에서 주로 사용

  • 반복문을 통해 명령문을 반복해서 수행하다 특정 조건을 만족할 때 더 이상 반복문을 수행하지 않고 해당 반복문을 빠져나가고 싶을 때 break 키워드를 사용하여 반복 조건에 관계없이 가장 가까운 반복문을 즉시 탈출할 수 있음

예제

  • 1부터 10까지의 숫자들 중에서 a 변수와 값이 같으면 반복문을 빠져나가기
a = 4

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

print('loop 종료')

실행 결과

1
2
3
loop 종료
  • ia의 값인 4와 같은 경우, 즉시 반복문을 종료
    • 그래서 5부터 10까지는 출력되지 않음
  • 반복문을 빠져나온 후 반복문 밖에 있는 print문 실행

continue

  • 해당 루프만 즉시 종료하고 다음 루프를 실행시키고 싶을 때 사용하는 키워드
    • 해당 키워드 바로 다음 명령문부터 해당 반복문의 마지막 명령문까지를 모두 건너뛰고 바로 다음 반복을 실행

예제

  • ia의 값이 같을 때, 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 키워드로 인해 i4일 때 print(i)가 실행되지 않고, 바로 i5인 경우로 넘어감
  • break 키워드와 다르게 5부터 10까지 모두 출력됨

return

  • (함수 안에서 쓰일 때) 함수 실행을 종료하고, 그 함수를 호출한 곳으로 값을 반환해주고 싶을 때 사용하는 키워드
  • 만약 함수 내에 return에 대한 정의가 없으면, 결과값으로 None을 반환
  • 더 알아보기
  • 함수는 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
함수 실행 후
  • 함수 내에서 return을 만나게 되면 함수 실행을 종료하게 되어, 밑에 있는 print문이 무시됨

exit()

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

예제

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

실행 결과

1
  • exit()의 적용 범위는 루프가 아닌 프로그램이기 때문에, 루프 밖에 있는 print('loop 종료')도 실행되지 않음
profile
2 B R 0 2 B

0개의 댓글