Ошибка типа: объект ‘list’ не вызывается. функция sum ()

#python-3.x

#python-3.x

Вопрос:

Кто-нибудь может объяснить, почему jupyter notebook сообщает: «Ошибка типа: объект ‘list’ не вызывается» При попытке выполнить следующий код:

 a = [3, 2, 6, 2, 2, 1, 4, 2, 2, 0, 3, 6, 7, 4, 6, 3]
b = sum(a)
print(b)
  

Но PyCharm возвращает: 53

????

Комментарии:

1. Вероятно, вы определили sum как список ранее в своем коде в записной книжке Jupyter. Чтобы переопределить это, просто запустите del sum в ячейке, которая удалит переменную, но не встроенную функцию.

2. никогда не используйте имена встроенных модулей в качестве имен переменных — они затеняют встроенную функцию — в вашем случае: sum() . Используйте print(type(sum)) для проверки — если это что-то другое, кроме функции, которую вы где-то использовали как переменную

3. Вот и все, да, большое спасибо!

Ответ №1:

Jupyter notebook позволяет вам запускать код построчно, что означает, что если вы определили переменную с именем «sum» в одной из ячеек, и в этой переменной есть список, функция «sum» перезаписывается до тех пор, пока вы не перезапустите ядро и не узнаете, что существует только переменная, которая не можетвызывается.