給函數添加元數據(python)


你寫好了一個函數,然后想為這個函數的參數增加一些額外的信息,這樣的話其他使用者就能清楚的知道這個函數應該怎么使用。

解決方案

使用函數參數注解是一個很好的辦法,它能提示程序員應該怎樣正確使用這個函數。 例如,下面有一個被注解了的函數:

def add(x:int, y:int) -> int: return x + y 

python解釋器不會對這些注解添加任何的語義。它們不會被類型檢查,運行時跟沒有加注解之前的效果也沒有任何差距。 然而,對於那些閱讀源碼的人來講就很有幫助啦。第三方工具和框架可能會對這些注解添加語義。同時它們也會出現在文檔中。

>>> help(add) Help on function add in module __main__: add(x: int, y: int) -> int >>> 

盡管你可以使用任意類型的對象給函數添加注解(例如數字,字符串,對象實例等等),不過通常來講使用類或者字符串會比較好點。

討論

函數注解只存儲在函數的 __annotations__ 屬性中。例如:

>>> add.__annotations__ {'y': <class 'int'>, 'return': <class 'int'>, 'x': <class 'int'>} 

盡管注解的使用方法可能有很多種,但是它們的主要用途還是文檔。 因為python並沒有類型聲明,通常來講僅僅通過閱讀源碼很難知道應該傳遞什么樣的參數給這個函數。 這時候使用注解就能給程序員更多的提示,讓他們可以正確的使用函數。

 

參考:https://python3-cookbook.readthedocs.io/zh_CN/latest/c07/p03_attach_informatinal_matadata_to_function_arguments.html

 

 

 

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM