가정 설정문 (assert)

yuns_u·2021년 9월 26일
0
post-custom-banner

Assertion

Assertion 구문은 어떤 조건을 테스트하는 디버깅 보조 도구이다.
assertion 구문을 적절하게 위치시켜 오류(버그) 발생 시 AssertionError 예외가 발생하면 위치에 대한 stacktrace를 확인하여 버그를 쉽게 해결할 수 있다.

예외를 발생시키는 예외처리와 비슷하지만 예외처리는 에러가 발생했을 때 어떤 처리를 하기 위한 코드이고,assertion은 어떤 조건이 true임을 보증하기 위해서 사용하는 것이다.

어떠한 조건이 참일 때 코드는 보장되었다고 주장하고 이 조건이 거짓이라는 것은 보장하지 않은 동작이니 AssertionError를 발생시키는 흐름이다.

이처럼 실수를 가정해 값을 보증하는 방식으로 코딩하는 것을 방어적 프로그래밍이라고 부른다.

사용 방법

assert [조건],[오류메시지]

assert 키워드 뒤에 조건을 입력한 뒤 콤마(,)와 오류메시지를 입력한다.
이 assert는 조건이 참인 경우 코드를 진행하고 false인 경우 AssertionError를 발생시킨다.

  • [조건] : 이 조건이 True이면 그대로 코드가 진행되고, False라면 AssertionError가 발생한다.
  • [오류메시지] : 앞에 조건이 False인 경우 "AssertionError와 함께 남길 메시지" 입니다. 이 부분은 생략이 가능하다.

예제

lists = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 3.14, 11, 12, 13]

def test(i):
    assert type(i) is int, '정수 아닌 값이 있습니다.'

for i in lists:
    test(i)
    
#결과
AssertionError: 정수 아닌 값이 있습니다.
profile
💛 공부 블로그 💛
post-custom-banner

0개의 댓글