1. 程式人生 > >Python基礎之給函式增加元資訊

Python基礎之給函式增加元資訊

1. 引數註解

當寫好一個函式以後,想為這個函式的引數新增一些額外的資訊,這樣的話,其他的使用者就可以清楚的知道這個函式應該怎麼使用,這個時候可以使用函式引數註解。

函式引數註解能提示程式設計師應該怎樣正確使用這個函式。

比如,下面這個函式就是一個被註解了的函式:

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

Python直譯器不會對這些註解新增任何的語義。

它們不會被型別檢查,執行時跟沒有加註解之前的效果也沒有任何的差距。

但是,對於那些閱讀程式碼的人來說,就有很大的幫助。

第三方工具和框架可能會對這些註解新增語義,同時它們也會出現在文件中。

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

你可以使用任意型別的物件給函式添加註解(例如數字,字串,物件例項等等), 但是使用類或者字串會比較好。

2. annotations

函式的註解只儲存在函式的__annotations屬性中。例如:

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

執行結果為:

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

儘管註解的使用方法可能會有很多中,但是它們的主要用途還是文件。

因為Python並沒有型別宣告,通常來講僅僅通過閱讀原始碼很難知道應該傳遞什麼樣的引數給這個函式。

而使用函式註解就能給程式碼閱讀人員更多的提示,讓他們可以更好的使用函式。