Вы, несомненно, использовали идентификатор sum
ранее в своем коде в качестве имени локальной переменной, и последнее значение, которое вы связали с ним, было int
. Итак, в этом фрагменте кода вы пытаетесь вызвать int
. напечатайте сумму
непосредственно перед тем, как вы попытаетесь вызвать его, и вы увидите, но проверка кода, вероятно, обнаружит это быстрее.
Такого рода проблемы являются причиной того, почему опытные питонисты постоянно говорят новичкам: «Не используйте встроенные имена для собственных переменных!» даже если это явно не повредит конкретный фрагмент кода: это ужасная привычка, и ошибка только и ждет, чтобы произойти, если вы используете такие идентификаторы, как sum
, file
, list
и т. Д., Как ваши собственные переменные или функции! -)