[Python]assert 조건문이란 ?

Date:     Updated:

카테고리:

assert문이란?

일반적으로 Python에서 조건문을 만들 땐 if문이나 while문을 사용한다. 하지만, 이 두 조건문의 경우는 조건이 True가 아닐 경우 제대로 동작하지 못한다. 다시 말해 조건문이 True가 아닐 경우, 예외를 일으킨다. 계속해서 잘 작동하던 코드이지만, 추가로 코드를 작성할 경우 예상치 못하게 예외 case가 발생할 수 있고, 이런 경우를 방지하기위해 assert문을 작성해 빠르게 대처할 수 있다.

Maching Learning이나 데이터 분석에서는 스펙트럼의 깊이를 정해두지 않고, 시행착오를 거쳐 분석하는 일이 많아 이런 예외 case가 비교적 많이 발생한다. 따라서 assert문이 유용하게 사용된다. 또 다른 장점은, 데이터를 체크하고 결합이나 갱신 직후 중복이나 결손값을 확인할 때 사용하면 좋다.

assert {조건식}, {조건식이 False인 경우 출력되는 메세지}

조건식이 False인 경우, AssertionError예외가 발생한다. 반면, 조건식이 True인 경우 어떠한 메시지도 표시되지 않는다.

def test(age):
  assert type(age) is int, 'age 값은 정수만 가능'
  assert age > 0, 'age 값은 양수만 가능'

age = 1
test(age)

age = -10
test(age)
Traceback (most recent call last):

  File ".\test.py", line 9, in <module>
    test(age)

  File ".\test.py", line 3, in test
    assert age > 0, 'age 값은 양수만 가능'

AssertionError: age 값은 양수만 가능

이 때, AssertionError를 무효화 시키려면 실행 시, python3 -O test.py처럼 -O 옵션을 주면 된다.



Reference

파이썬 assert 사용법 및 예저
assert문 간단 사용법

py 카테고리 내 다른 글 보러가기

댓글 남기기