您好,登錄后才能下訂單哦!
本篇內容主要講解“如何正確使用Python中的函數注釋”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“如何正確使用Python中的函數注釋”吧!
我在查看python的fixture源碼時發現 fixture的方法定義形式如下:
def fixture( fixture_function: Optional[_FixtureFunction] = None, *, scope: "Union[_Scope, Callable[[str, Config], _Scope]]" = "function", params: Optional[Iterable[object]] = None, autouse: bool = False, ids: Optional[ Union[ Iterable[Union[None, str, float, int, bool]], Callable[[Any], Optional[object]], ] ] = None, name: Optional[str] = None, ) -> Union[FixtureFunctionMarker, _FixtureFunction]:
我頓時有些凌亂,不知這是什么東東,經過各種網上查找資料,發現這是Python 3.X新增加的一個特性,叫作函數注釋 Function Annotations。它的用途雖然不是語法級別的硬性要求,但是顧名思義,它可作為函數額外的注釋來用。他的用法也很簡單。
在python中定義普通的函數,方法如下:
def f1(a,b): return a+b
通過函數注釋,方法定義如下:
def f2(a: "str類型參數a", b: "str類型參數b") -> str: print("Annotations:", f2.__annotations__) return a+b
其中
a: "str類型參數a"代表了對參數a的說明
b: "str類型參數b"代表了對參數b的說明
-> str:代表了函數的返回值
f2.__annotations__查看函數的注釋說明
運行 print(f2('aa','bb')),輸出:
Annotations: {'a': 'str類型參數a', 'b': 'str類型參數b', 'return': }
aabb
那么定義了函數的參數類型和返回值類型我們是否就不可以對其進行修改了呢,讓我們做如下嘗試:
print(f2(1,2)),輸出:
Annotations: {'a': 'str類型參數a', 'b': 'str類型參數b', 'return': }
可見, Function Annotations它的作用僅僅是為函數進行注釋來用,并不能指定參數類型。
到此,相信大家對“如何正確使用Python中的函數注釋”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。