프로그래밍언어/파이썬[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