python Function Annotations

Posted by summer on September 19, 2021

先來看看這個

1
2
def foo(b:10+19,c:'bar',a:int=10)->None:
    return

這段程式主要關注點是

a:int=10 a 是參數名,而 ‘:’ 後面的是參數註解,而 ‘=’ 是預設值,當然,有註解的參數也可以有預設值

後面的 ‘->None’ 是返回值的註解

註解可以是型別、字串甚至是表示式

那寫了註解後該如何運用

1
print(foo.__annotations__)

輸出

1
{'b': 29, 'c': 'bar', 'a': <class 'int'>, 'return': None}

這樣就能做簡易的參數檢查了