Python assert 문의 기본 개념
Python의 assert 문은 코드 내에서 특정 조건이 참인지 검증하기 위해 사용하는 디버깅 도구입니다. 기본 문법은 다음과 같습니다.
assert <검사할_조건>, <메시지>
위 구문은 다음과 같이 해석할 수 있습니다. <검사할_조건>이 False로 평가되면 예외가 발생하고, <메시지>가 출력된다.
assert 문의 동작 방식
특정 코드 블록이나 표현식을 검사하고 싶다면, 해당 내용을 assert 키워드 뒤에 작성하면 됩니다.
- 조건이 통과되거나 표현식이 True로 평가되면 아무 일도 일어나지 않습니다.
- 반대로 조건이 실패하거나 표현식이 False로 평가되면 AssertionError가 발생하고, 지정한 메시지가 출력됩니다.
즉, assert 문은 개발자가 정의한 제약 조건(user-defined constraints)을 검증하는 용도로 사용됩니다. 주로 코드 디버깅을 목적으로 하며, 일반적으로 스크립트의 시작 부분에 삽입하여 프로그램이 올바른 전제 조건 위에서 실행되는지 확인합니다.
assert 문의 적절한 사용 범위
주의할 점은 assert 문이 x / 0 같은 일반적인 코드 오류를 잡는 용도가 아니라는 것입니다. 이런 종류의 오류(예: ZeroDivisionError)는 Python 인터프리터가 자체적으로 감지하고 처리하기 때문입니다. assert는 어디까지나 개발 단계에서 프로그램의 논리적 가정을 점검하는 도구입니다.
assert 문 사용 예제
아래와 같이 코드를 assert 문으로 검사할 수 있습니다.
x,y = 4,7 assert x > y, "x has to be smaller than y"
실행 결과
Traceback (most recent call last): File "C:/Users/TutorialsPoint1/~assert2.py", line 2, in <module> assert x > y, "x has to be smaller than y" AssertionError: x has to be smaller than y
위 예제에서 변수 x(4)는 y(7)보다 작기 때문에 x > y라는 조건은 False가 되고, 결과적으로 AssertionError가 발생하면서 지정된 메시지 "x has to be smaller than y"가 함께 출력됩니다.