簡體   English   中英

如何定義可調用參數的簽名?

[英]How to define signature of a callable argument?

假設我有一個接受可調用函數

def foo(bar):
    print(bar(1, 2))

聲明bar(..)接受兩個int並返回一個str的最佳方法是什么? 有沒有比文檔更明確的方法?

通過typing Callable類型,可以指定參數類型和可調用值的返回類型。

from typing import Callable

def foo(bar: Callable[[int,int],str]):
    print(bar(1, 2))

請注意,由於Python是動態類型的,因此在某種程度上,類型提示只是文檔。 但是,可以將mypy等第三方工具用於靜態類型分析,以幫助確保您的代碼不會傳遞錯誤類型的值。

Python是動態類型的,這意味着解釋器的類型會在代碼運行時進行檢查,並且該類型會隨着時間而變化。

PEP 484引入了類型提示。 您可以按照以下語法進行操作:

def bar( a: int, b: int) -> str:
    return 

def foo(bar: callable) -> None:
    print(bar(1, 2))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM