a = 3
assert a == 2
# 결과
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AssertionError
asser 뒤의 조건이 맞지 않을 경우 asserterror를 발생시키는 함수이다.
어떤 명령어를 처리하기 위해 어떤 변수가 반드시 어떤 조건을 충족해야하는 경우 사용하면 편리하다.
try~ except에서 except에 break를 걸어준것과 같은 의미이다.
```python
def test(t):
assert type(t) is int, 'not int error'
for i in lists:
test(i)
#결과
AssertionError: not int error
위의 코드와 같이 조건 뒤에 문구를 작성해주면 error와 함께 출력된다.
단순히 에러를 찾는것이 아니라 값을 보증하기 위해 사용된다.
이처럼 실수를 가정해 값을 보증하는 방식으로 코딩하기 때문에 이를 '방어적 프로그래밍'이라고 한다.