Assertion Error란 조건이 거짓인 경우에 실행을 중단시키고 내는 에러를 말한다.
1. assert
assert [조건], [에러 내용]
assert는 조건을 만족하지 않을 경우에 에러를 발생시킨다.
# letter이 string type이 아닌 경우에 error를 발생시킨다
>>> assert type(letter) == str, 'invalid type'
# Traceback (most recent call last):
# AssertionError: invalid type
2. raise
에러 내용에 if문을 사용하고 싶다면 assert 대신 raise를 사용하면 된다.
raise는 if문으로 조건을 적어준 다음에 사용한다.
# 문제
① count가 100이 아닌 경우에 error를 발생시킨다.
② count가 1인 경우에 에러 내용이 invalid format (1 digit) 이다.
③ count가 1보다 크고 100이 아닌 경우에 에러 내용이 invalid format ({count 수} digits) 이다.
>>> if count != 100:
raise AssertionError('invalid format (1 digit)') if count == 1 \
else AssertionError(f'invalid format ({count} digits)')
f string은 assert인 경우에도 되지만, assert에서는 if else문으로 경우에 따라 내용을 다르게 내지 못했다.
'Computer Science > [20-3,4] Python Basic' 카테고리의 다른 글
[Python] text file에서 알파벳이 있는 위치 찾기 (0) | 2020.03.05 |
---|---|
[Python] 클래스 메소드 __str__, __repr__ 의 차이 (0) | 2020.03.04 |
[Python] Slice position과 Index position (0) | 2020.03.03 |
[Python] 딕셔너리의 value에 set 자료형 넣기 (0) | 2020.03.01 |
[Python] 딕셔너리 키와 값을 서로 바꾸기 (0) | 2020.02.26 |
댓글