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