Code: Select all
def my_dec(func):
def wrapper(self, *args, **kwargs):
print("do something")
return func(self, *args, **kwargs)
return wrapper
Code: Select all
def my_dec(
func: Callable[[*Tuple[Any, ...]], Any]
) -> Callable[[*Tuple[Any, ...]], Any]:
def wrapper(
self: Any,
*args: Any,
**kwargs: Any
) -> Any:
print("do something")
return func(self, *args, **kwargs)
return wrapper
Code: Select all
Argument 1 to "my_dec" has incompatible type
"Callable[[datetime, datetime | str, str | NoInput], float | None]";
expected "Callable[[VarArg(Any)], Any]" [arg-type]
Das kann natürlich nicht funktionsspezifisch sein, der Dekorator wird auf viele verschiedene Funktionen angewendet.