Вопрос-Ответ

TypeError: 'int' object is not callable

TypeError: объект 'int' нельзя вызвать

Учитывая следующее:

a = 23
b = 45
c = 16

round((a/b)*0.9*c)

Выполнение вышеуказанного выдает ошибку:

TypeError: 'int' object is not callable.

Как я могу округлить вывод до целого числа?

Переведено автоматически
Ответ 1

Где-то еще в вашем коде есть что-то похожее на это:

round = 42

Затем, когда вы пишете

round((a/b)*0.9*c)

это интерпретируется как означающий вызов функции для объекта, связанного с round, который является int . И это завершается неудачей.

Проблема в том, какой код привязывает an int к имени round. Найдите это и удалите.

Ответ 2

Я получил ту же ошибку (TypeError: объект 'int' нельзя вызвать)

def xlim(i,k,s1,s2):
x=i/(2*k)
xl=x*(1-s2*x-s1*(1-x)) / (1-s2*x**2-2*s1*x(1-x))
return xl
... ... ... ...

>>> xlim(1,100,0,0)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<stdin>", line 3, in xlim
TypeError: 'int' object is not callable

прочитав этот пост, я понял, что забыл знак умножения *, поэтому

def xlim(i,k,s1,s2):
x=i/(2*k)
xl=x*(1-s2*x-s1*(1-x)) / (1-s2*x**2-2*s1*x * (1-x))
return xl

xlim(1.0,100.0,0.0,0.0)
0.005

резервуары

Ответ 3

Прекратите копаться в round другом месте, привязав к нему an int.

Ответ 4

Я тоже сталкивался с этой проблемой, но в немного другом сценарии.

Сценарий:

param = 1

def param():
.....
def func():
if param:
var = {passing a dict here}
param(var)

Здесь это выглядит простой и глупой ошибкой, но из-за нескольких строк кода в самом коде мне потребовалось некоторое время, чтобы понять, что имя переменной, которое я использовал, совпадает с именем моей функции, из-за чего я получал эту ошибку.

Изменил имя функции на что-то другое, и это сработало.

Итак, в основном, согласно тому, что я понял, эта ошибка означает, что вы пытаетесь использовать целое число как функцию или, проще говоря, имя вызываемой функции также используется как целое число где-то в коде. Итак, просто попробуйте выяснить все вхождения имени вызываемой функции и посмотрите, используется ли оно где-нибудь как целое число.

Я изо всех сил пытался найти это, поэтому делюсь этим здесь, чтобы кто-то другой мог сэкономить свое время, на случай, если они столкнутся с этой проблемой.

python