Код: Выделить всё
def f() -> int:
print()
return None
Затем я удалил -> int, чтобы код был:
Код: Выделить всё
def f():
print()
return None
Рафф жаловался таким же образом, когда я аннотировал функция, возвращающая None:
Код: Выделить всё
def f() -> None:
print()
return 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
Вы также можете помочь на github
Подробнее здесь: https://stackoverflow.com/questions/791 ... -annotated