Как исправить в sum () отсутствующий 1 обязательный позиционный аргумент: 'y'? - PullRequest
0 голосов
/ 03 августа 2020

Пример кода

a = [1,2,3]
print(sum(a))

Показана трассировка ошибки

Traceback (most recent call last)
<ipython-input-15-8c9e0f297c95> in <module>
      1 a = [1,2,3]
----> 2 print(sum(a))

TypeError: sum() missing 1 required positional argument: 'y'

1 Ответ

1 голос
/ 06 августа 2020

Вы определили свой собственный sum метод, который принимает разные параметры. Например, если я запустил эту ячейку:

def sum(x, y):
    return x + y

, за которой следует ячейка с вашим кодом:

a = [1,2,3]
print(sum(a))

, я получаю тот же вывод ошибки:

---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-2-8c9e0f297c95> in <module>
      1 a = [1,2,3]
----> 2 print(sum(a))

TypeError: sum() missing 1 required positional argument: 'y'

Чтобы исправить это, вы можете либо переименовать свою функцию sum во что-нибудь другое (например, my_sum), затем go в меню ядра и нажать «Перезагрузить», либо использовать builtins.sum как , предложенное Mike67 в комментарии :

import builtins
a = [1,2,3]
builtins.sum(a)

Я бы рекомендовал переименовать функцию, чтобы избежать конфликта, так как вы можете столкнуться с другими конфликтами позже. Как правило, рекомендуется избегать определения чего-либо с тем же именем, что и встроенная функция.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...