프로그래밍언어/파이썬[Error]
[파이썬][Error] 080. AssertionError - assert isinstance(x, int) failed
about_IT
2025. 5. 30. 13:53
728x90
AssertionError: assert isinstance(x, int) failed
오류는 x
가 정수(int
) 타입이기를 기대했지만 실제로는 그렇지 않을 때 발생합니다. assert isinstance(x, int)
는 x
가 반드시 정수형 타입이어야 한다는 전제를 검사하는 구문입니다.
이 오류는 함수의 매개변수 검증, 데이터 타입 강제 검사, 테스트 코드 등에서 자주 사용되며, 주로 문자열, 부동소수점(float
), None
등의 값이 들어올 때 문제가 발생합니다.
● 오류 발생 예시
x = "10"
assert isinstance(x, int), "정수형 타입이 아닙니다."
문자열 "10"
은 정수형이 아니므로 AssertionError
가 발생합니다.
AssertionError: 정수형 타입이 아닙니다.
● 해결 방법
- 입력값이
int
타입인지 사전 변환 또는 체크 - 필요하다면
int(x)
로 변환 시도 - 유효하지 않은 타입인 경우 예외 처리 로직 작성
● 예시 코드 (변환 또는 처리)
x = "10"
try:
x = int(x)
assert isinstance(x, int)
except (ValueError, AssertionError):
print("정수가 아닙니다.")
● 자주 하는 실수
- 문자열 입력을 직접 처리하지 않고 assert로만 검사
- 입력값 타입 변환 전에 타입 검사를 수행
float
처럼 숫자로 보이지만 정확히int
가 아닌 값 사용
● 결론
AssertionError - assert isinstance(x, int) failed
는 변수 x
가 정수형이 아닐 때 발생합니다. 입력값의 타입을 명확히 검사하고, 필요한 경우 명시적으로 변환하는 습관이 중요합니다.
728x90