[Python]assert 조건문이란 ?
카테고리: py
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문 간단 사용법
댓글 남기기