프로그래밍언어/파이썬[Error]

[파이썬][Error] 052. AttributeError - 'int' object has no attribute '속성'

about_IT 2025. 5. 28. 23:45
728x90

AttributeError: 'int' object has no attribute '속성' 오류는 정수형(int) 객체에 존재하지 않는 속성이나 메서드를 호출하려고 할 때 발생합니다. 정수형은 기본적인 수치 연산을 위한 객체이기 때문에, 리스트나 문자열처럼 다양한 메서드나 속성을 갖고 있지 않습니다.

이 오류는 정수형 객체를 다른 객체(예: 리스트, 클래스 인스턴스 등)로 잘못 판단하여 메서드를 호출하거나, 변수 재정의로 인해 타입이 바뀐 것을 인지하지 못한 경우에 자주 발생합니다.

● 오류 발생 예시

num = 5
print(num.append(3))

append()는 리스트 전용 메서드이므로, int 타입인 num에 대해 호출할 수 없습니다.

AttributeError: 'int' object has no attribute 'append'

● 해결 방법

  • 변수 타입을 먼저 확인: type() 함수 활용
  • 정수형은 +, -, *, //, % 등 연산자로만 사용
  • 정수형에 대해 불필요한 메서드 호출 지양

● 올바른 코드 예시

lst = [5]
lst.append(3)
print(lst)  # 출력: [5, 3]

● 자주 하는 실수

  • 정수형을 리스트나 문자열로 착각하고 메서드 호출
  • 같은 이름의 변수를 다른 타입으로 재정의
  • 입력 처리 과정에서 타입 변환을 깜빡함

● 결론

AttributeError - 'int' object has no attribute 오류는 정수형 객체에 존재하지 않는 메서드를 사용하려고 할 때 발생합니다. 객체의 자료형을 먼저 확인하고, 타입에 맞는 메서드나 속성을 사용하는 것이 가장 확실한 예방책입니다.

728x90