當寫好一個函數之後,想爲這個函數的參數添加一些額外的信息,這樣的話,其餘的使用者就能夠清楚的知道這個函數應該怎麼使用,這個時候能夠使用函數參數註解。python
函數參數註解能提示程序員應該怎樣正確使用這個函數。程序員
好比,下面這個函數就是一個被註解了的函數:框架
def add(x:int, y:int) -> int: return x + y
Python解釋器不會對這些註解添加任何的語義。函數
它們不會被類型檢查,運行時跟沒有加註解以前的效果也沒有任何的差距。工具
可是,對於那些閱讀代碼的人來講,就有很大的幫助。
spa
第三方工具和框架可能會對這些註解添加語義,同時它們也會出如今文檔中。code
def add(x:int, y:int) -> int: return x + y help(add)
執行結果爲:對象
Help on function add in module __main__: add(x:int, y:int) -> int
你能夠使用任意類型的對象給函數添加註解(例如數字,字符串,對象實例等等), 可是使用類或者字符串會比較好。blog
函數的註解只存儲在函數的__annotations屬性中。例如:文檔
def add(x:int, y:int) -> int: return x + y print(add.__annotations__)
執行結果爲:
{'x': <class 'int'>, 'y': <class 'int'>, 'return': <class 'int'>}
儘管註解的使用方法可能會有不少中,可是它們的主要用途仍是文檔。
由於Python並無類型聲明,一般來說僅僅經過閱讀源碼很難知道應該傳遞什麼樣的參數給這個函數。
而使用函數註解就能給代碼閱讀人員更多的提示,讓他們能夠更好的使用函數。