Рафф не улавливает неопределенный аргумент функцииPython

Программы на Python
Ответить
Anonymous
 Рафф не улавливает неопределенный аргумент функции

Сообщение Anonymous »

Я не уверен, что задача ruff — перехватывать неопределенный аргумент функции, но существует ли инструмент, который это делает? или мне не хватает конфигурации ruff, чтобы он мог это делать?
from typing import Optional

def my_func(bar: int, baz: int, foo: Optional[int] = None) -> int:
if foo:
return foo + bar + baz
else:
return bar + baz

my_func(foo=1, bar=2, baz=3)
my_func(bar=2, baz=3)
my_func(f=1, bar=2, baz=3) # this should have been caught by ruff, but isn't and I'm

мой ruff.toml
select = [
"F", # https://beta.ruff.rs/docs/rules/#pyflakes-f
"W", # https://beta.ruff.rs/docs/rules/#warning-w
"E", # https://beta.ruff.rs/docs/rules/#error-e
"I", # https://beta.ruff.rs/docs/rules/#isort-i
"N", # https://beta.ruff.rs/docs/rules/#pep8-naming-n
"ANN", # https://beta.ruff.rs/docs/rules/#flake8-annotations-ann
"B", # https://beta.ruff.rs/docs/rules/#flake8-bugbear-b
"RUF", # https://beta.ruff.rs/docs/rules/#ruff-s ... -rules-ruf
"PT", # https://beta.ruff.rs/docs/rules/#flake8-pytest-style-pt
"D",
]
include = ["*.py"]
force-exclude = true
fixable = ["ALL"]
pydocstyle.convention = "numpy"

exclude = [".mypy_cache", ".ruff_cache", ".venv", "__pypackages__"]
ignore = [
"ANN101", # https://beta.ruff.rs/docs/rules/#flake8-annotations-ann -- missing self type annotation
"E501", # Line-length is handled by black
"N812", # https://beta.ruff.rs/docs/rules/lowerca ... lowercase/
"ANN401", # Ignore typing Any
"D1", # Don't complain about missing docstrings
]


Подробнее здесь: https://stackoverflow.com/questions/773 ... o-function
Ответить

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

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

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

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

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