Я, кажется, нашел синтаксическую ошибку аргументов функции в Python. Что мне делать?
Я хотел создать функцию в классе, которая принимает 2 аргумента, но вывод от них не зависит:
def __eq__ (_, _):
return True
Питон кинул синтаксическую ошибку:
File "file.py", line 8
def __eq__ (_, _):
^
SyntaxError: duplicate argument '_' in function definition
Ошибка: 2 одинаковых аргумента. Вот информация по этой ошибке: https://www.flake8rules.com/rules/F831.html Питону кажется, что "_" - это имя переменной, а не знак удаления.
Мою проблему решает удаление *args def __eq__ (*_):, но это костыль, потому что функция примет сколько угодно аргументов. Получается, это ошибка интерпретатора. Куда на нее жаловаться?
Минимальный воспроизводимый пример:
def f (_, _):
pass
Ответы (1 шт):
Подчеркивание не знак удаления. никакого удаления в питоне нет. _ это обычное имя переменной, которое просто принято использовать для обозначения, что эти данные не нужны. В то же время никто не запрещает использовать ее как обычную переменную. И да, все параметры надо указать. Напишите например 'a' и 'b'