본문 바로가기
오늘의 삽질... 에러모음

[Python] TypeError: 'int' object is not callable 에러 코드

by 요호유후 2025. 1. 7.
반응형

 

진짜 간단한 코드 몇 줄이였는데 에러가 뜨더니 도무지 해결되지 않았다.

에러는 TypeError: 'int' object is not callable ...

 

아래의 코드 그대로 .py(python)로 실행시키면 에러가 뜨지 않았고

.ipynb(jupyter)로 실행하면 계속 에러가 떴다. (?)

 

 

이번글에서 해당 에러와 원인, 해결방법에 대해서 정리하려한다.

 

 

TypeError: 'int' object is not callable
(
TypeError: 'xxxx' object is not callable)

 

문제사항

에러발생 : TypeError: 'int' object is not callable

 

 

 

문제원인

 

위의 에러가 발생한 이유는 예약어를 변수명으로 사용하였기 때문이다.

예약어란 특정한 용도로 사용하기 위해 미리 예약(지정)해 놓은 단어들이다.

예약어의 예로는 sum(), len(), min(), str(), for, if 등이 있다.

 

나는 합의 변수명으로 sum, 문자열의 변수명으로 str를 자주 사용하였다. 

(다른언어에선 이렇게 사용했었다. 전에 python으로 코드짤때도 썼던거같은데...아닌가)

아마도 sum을 변수명으로 사용해서 이 사달이 난 것 같다.

 

다만, .py(python)의 경우 문제가 되는 코드를 지워주기만 하면 해결이 되는데

.ipynb(jupyter)의 경우 아무리 코드를 지우고 다시 실행을 해봐도 해결되지 않았다.

뭔가 관련 데이터가 삭제되지 않고 계속 남아있는것으로 보인다ㅠㅠ

그래도 해결 방법은 있다!

 

해결

먼저, python 환경에서는 해당 코드를 삭제/주석 처리 해주거나

 

 

del을 이용해서 해당 변수를 삭제해주어도 된다.

 

 

 


 

 

.ipynb(jupyter) 환경에서는 del을 이용해서 해당 변수를 삭제 해준다.

 

 

 

* jupyter의 경우 위 에러가 발생하면, 문제 라인을 삭제하고 다시 실행한다고 해도 계속 오류가 발생한다.

이때, 아래와 같이 del을 이용하여 문제의 변수를 완전히 삭제해 주어야 한다!!

 

 


구글 코랩 작업 시 런타임 → 세션 다시 시작 및 모두 실행

 

반응형

댓글