본문 바로가기

Python

assert

728x90
반응형

python에서 assert는

일종의 try, except를 하나로 축약한 것과 비슷합니다.

 

assert 다음에 조건문을 넣어서,

조건문이 참이면 코드가 계속 진행

거짓이면 AssertionError로 코드가 중단

 

사용법은 다음과 같습니다.

assert <condition>,<error message:optional>

 

 

error message를 입력하지 않은 경우와 입력한 경우의 두가지로 나눠서 예제코드를 작성해봅시다.

 

1. No error message

assert 1 == 1
print("True를 지나왔습니다.")

assert 1 == 0
print("False를 지나왔습니다.")

위의 예제 코드를 실행하면 아래와 같이 출력됩니다.

True를 지나왔습니다.
AssertionError

assert 1 == 0  이 False 이기 때문에

"False를 지나왔습니다."가 출력되지 않고 그 바로 위에서 AssertionError가 발생하고 중단~

 

2. With error message

assert 1 == 1, "gogo"
print("True를 지나왔습니다.")

assert 1 == 0, "just like TT"
print("False를 지나왔습니다.")

위를 실행한 결과는 다음과 같습니다.

True를 지나왔습니다.
AssertionError: just like TT

1과 2의 차이는 AssertionError에 나오는 error message를 custom 하냐 안하냐의 차이일 뿐입니다!

 

try, except와 다를바가 없으니

assert가 나오는 코드를 보더라도 당황하지 맙시다.

728x90
반응형