Как заставить ерша жаловаться на бесполезные операторы возврата в функциях, аннотированных для возврата не None?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как заставить ерша жаловаться на бесполезные операторы возврата в функциях, аннотированных для возврата не None?

Сообщение Anonymous »

Сегодня я зашел на игровую площадку Ruff, включил правило PLR1711 (бесполезный возврат) и вставил этот код:

Код: Выделить всё

def f() -> int:
print()
return None
На вкладке «Диагностика» я увидел только «Все выглядит хорошо!».
Затем я удалил -> int, чтобы код был:

Код: Выделить всё

def f():
print()
return None
и увидел бесполезный оператор return в конце функции (PLR1711) [Ln 3, Col 5].
Рафф жаловался таким же образом, когда я аннотировал функция, возвращающая None:

Код: Выделить всё

def f() -> None:
print()
return None
То же самое касается случаев с возвратом вместо возврата None.
Это запланированное поведение? Если это так, я думаю, что документация по этому правилу должна сообщить об этом.
Я проверил, как pylint обрабатывает такие случаи, запустив ячейку со следующим кодом в свежей среде выполнения Google Colab:

Код: Выделить всё

!pip install pylint>/dev/null
!printf 'def f() -> int:\n    print()\n    return None' > a.py
!pylint --version && pylint --disable C a.py
Я получил

Код: Выделить всё

pylint 3.3.1
astroid 3.3.5
Python 3.10.12 (main, Sep 11 2024, 15:47:36) [GCC 11.4.0]
************* Module a
a.py:1:0: R1711: Useless return at end of function or method (useless-return)

-----------------------------------
Your code has been rated at 6.67/10
Так как же мне заставить ерша жаловаться на бесполезные операторы возврата в случаях, когда функция аннотирована так, чтобы возвращать не None? Нужно ли нам ждать обновления для этого?
Вы также можете помочь на github

Подробнее здесь: https://stackoverflow.com/questions/791 ... -annotated
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»