我有以下代碼
def func1(f: Callable):
def decorator(*args, **kwargs):
# do something
return f(*args, **kwargs)
return decorator
@func1
def func2(parameter: str):
# do something else
...
我想指定 func1 采用具有 1 個特定型別的引數(在本例中為 str)或根本沒有引數的 Callable,以便我不僅可以將它與 func2 一起使用,還可以與另一個函式一起使用沒有類似以下函式的引數
@func1
def func3():
# this function doesn't take any parameters
顯然,即使有解決方案,它實際上也不會有效,因為無論如何都會忽略型別提示,但我想使用 Pydnatic 添加實際驗證,這就是為什么我要指定函式必須具有某種型別的引數或者根本沒有引數。
uj5u.com熱心網友回復:
我想指定 func1 采用具有特定型別的 1 個引數(在本例中為 str)或根本沒有引數的 Callable
使用兩個簽名的并集:
func : Callable[[str], Any] | Callable[[], Any])
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/478860.html
上一篇:如何使用特定邏輯對陣列進行排序
