Typeerror: int object is not callable – How to Fix in Python
In Python, a “Typeerror” occurs when you use different data types in an operation.
For example, if you attempt to divide an integer (number) by a string, it leads to a typeerror because an integer data type is not the same as a string.
One of those type errors is the “int object is not callable” error.
The “int object is not callable” error occurs when you declare a variable and name it with a built-in function name such as int() , sum() , max() , and others.
The error also occurs when you don’t specify an arithmetic operator while performing a mathematical operation.
In this article, I will show you how the error occurs and what you can do to fix it.
How to Fix Typeerror: int object is not callable in Built-in Function Names
If you use a built-in function name as a variable and call it as a function, you’ll get the “int object is not callable” error.
For instance, the code below attempts to calculate the total ages of some kids with the built-in sum() function of Python. The code resulted in an error because the same sum has already been used as a variable name:
Another example below shows how I tried to get the oldest within those kids with the max() function, but I had declared a max variable already:
Both code examples led to this error in the terminal:
To fix the issue, you need to change the name of the variable you named as a built-in function so the code can run successfully:
If you get rid of the custom variables, your code will still run as expected:
How to Fix Typeerror: int object is not callable in Mathematical Calculations
In Mathematics, if you do something like 4(2+3), you’ll get the right answer which is 20. But in Python, this would lead to the Typeerror: int object is not callable error.
To fix this error, you need to let Python know you want to multiply the number outside the parentheses with the sum of the numbers inside the parentheses.
To do this, you do this by specifying a multiplication sign (*) before the opening parenthesis:
Python allows you to specify any arithmetic sign before the opening parenthesis.
So, you can perform other calculations there too:
The Typeerror: int object is not callable is a beginner error in Python you can avoid in a straightforward way.
As shown in this article, you can avoid the error by not using a built-in function name as a variable identifier and specifying arithmetic signs where necessary.
[SOLVED] TypeError: “int” Object Is Not Callable
In this article, we will be discussing the TypeError: “int” Object is not callable exception. We will also be through solutions to this problem with example programs.
Why Is This Error Raised?
- “int” is used as a variable name.
- Arithmetic Operator not provided when calculating integers.
- Placing parentheses after a number
Using int As A Variable, Name
Variable declaration using in-built names or functions is a common mistake in rookie developers. An in-built name is a term with its value pre-defined by the language itself. That term can either be a method or an object of a class.
int is an in-built Python keyword. As we discussed, it is not advisable to use pre-defined names as variable names. Although using a predefined name will not throw any exception, the function under the name will no longer be re-usable.
Let’s refer to the following example:
Output and Explanation
- Variable myNum s is a list of 4 integers.
- A variable sum is initialized with the value 0
- The sum of myNums list is calculated using sum() function and stored in sum variable.
- Results printed.
What went wrong here? In step 2, we initialize a variable sum with a value of 0. In Python, sum is a pre-defined function. When were try to use the sum function in step 3, it fails. Python only remembers sum as a variable since step 2. Therefore, sum() has lost all functionality after being declared as a variable.
Instead of using sum as a variable declaration, we can use more descriptive variable names that are not pre-defined ( mySum , mySum , totalSum ). Make sure to follow PEP 8 naming conventions.
Arithmetic Operator Not Provided When Calculating Integers
Failing to provide an arithmetic operator in an equation can lead to TypeError: “int” object is not callable. Let’s look at the following example:
Output / Explanation
- List of integers stored in the variable prices
- Tax percentage set to 10
- Total price calculated and stored in totalPrice
- Total Taxable amount calculated.
- Final result printed.
To calculate the taxable amount, we must multiply totalPrice with tax percentage. In step 4, while calculating taxAmount , the * operator is missing. Therefore, this gives rise to TypeError: «int» Object Is Not Callable
Denote all operators clearly.
Placing Parentheses After an Integer
Let’s look at the following code:
Output / Explanation
It is syntactically wrong to place parentheses following an integer. Similar to the previous section, It is vital that you ensure the correct operators.
Do not use brackets after a raw integer. Denote correct operators.
cursor.rowcount() TypeError: “int” Object Is Not Callable
Let’s look at the following code:
According to the sqlite3 documentation provided by Python, .rowcount is an attribute and not a function. Thereby remove the parenthesis after .rowcount .
TypeError: “int” object is not callable in OpenCV
Let’s refer to the following code.
The hierarchy object returned is a numpy.ndarray object. You should also note that the numpy.ndarray.size attribute is an integer, not a method. Therefore, they cause the exception.
if event.type == pygame.quit() TypeError: ‘int’ Object Is Not Callable
Let’s refer to the example code to move an image:
The condition statement should be:
Instead of the current:
Please note that type is a member of the class Event , not a function. Therefore, it is not required to pass parenthesis.
TypeError: ‘int’ Object Is Not Callable Datetime
Let’s refer to the following code:
.day is not a function but an attribute. Therefore passing parenthesis should be avoided.
You can fix this error by not using “int” as your variable name. This will avoid the cases where you want to convert the data type to an integer by using int().
Object not callable simply means there is no method defined to make it callable. Usually, parenthesis is used to call a function or object, or method.
We have looked at the exception TypeError: ‘int’ Object Is Not Callable. This error mostly occurs due to basic flaws in the code written. Various instances where this error appears have also been reviewed.
TypeError: 'int' object is not callable
Somewhere else in your code you have something that looks like this:
Then when you write
that is interpreted as meaning a function call on the object bound to round , which is an int . And that fails.
The problem is whatever code binds an int to the name round . Find that and remove it.
I got the same error (TypeError: ‘int’ object is not callable)
after reading this post I realized that I forgot a multiplication sign * so
Stop stomping on round somewhere else by binding an int to it.
I was also facing this issue but in a little different scenario.
It looks simple and a stupid mistake here, but due to multiple lines of codes in the actual code, it took some time for me to figure out that the variable name I was using was same as my function name because of which I was getting this error.
Changed function name to something else and it worked.
So, basically, according to what I understood, this error means that you are trying to use an integer as a function or in more simple terms, the called function name is also used as an integer somewhere in the code. So, just try to find out all occurrences of the called function name and look if that is being used as an integer somewhere.
I struggled to find this, so, sharing it here so that someone else may save their time, in case if they get into this issue.
Python TypeError: ‘int’ object is not callable
The TypeError: the ‘int’ object is not a callable error occurs if an arithmetic operator is missed while performing the calculations or the reserved keywords are declared as variables and used as functions,
In this tutorial, we will learn what int object is is not callable error means and how to resolve this TypeError in your program with examples.
What is TypeError: the ‘int’ object is not callable?
There are two main scenarios where developers try to call an integer.
- When you try to call the reserved keywords as a function
- Missing an Arithmetic operator while performing the calculation
Scenario 1: When you try to call the reserved keywords as a function
Using the reserved keywords as variables and calling them as functions are developers’ most common mistakes when they are new to Python. Let’s take a simple example to reproduce this issue.
If you look at the above code, we have declared the sum as a variable. However, in Python, the sum() is a reserved keyword and a built-in method that adds the items of an iterable and returns the sum.
Since we have declared sum as a variable and used it as a function to add all the items in the list, Python will throw TypeError.
We can fix this error by renaming the sum variable to total_price , as shown below.
Scenario 2: Missing an Arithmetic operator while performing the calculation
While performing mathematical calculations, if you miss an arithmetic operator within your code, it leads to TypeError: the ‘int’ object is not a callable error.
Let us take a simple example to calculate the tax for the order. In order to get the tax value, we need to multiply total_value*(tax_percentage/100) .