如何正確使用Python中的函數(shù)注釋

本篇內(nèi)容主要講解“如何正確使用Python中的函數(shù)注釋”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“如何正確使用Python中的函數(shù)注釋”吧!

網(wǎng)站建設(shè)哪家好,找成都創(chuàng)新互聯(lián)!專注于網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、微信小程序定制開發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了赤壁免費(fèi)建站歡迎大家使用!

我在查看python的fixture源碼時發(fā)現(xiàn) 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]:

我頓時有些凌亂,不知這是什么東東,經(jīng)過各種網(wǎng)上查找資料,發(fā)現(xiàn)這是Python 3.X新增加的一個特性,叫作函數(shù)注釋 Function  Annotations。它的用途雖然不是語法級別的硬性要求,但是顧名思義,它可作為函數(shù)額外的注釋來用。他的用法也很簡單。

在python中定義普通的函數(shù),方法如下:

def f1(a,b):     return a+b

通過函數(shù)注釋,方法定義如下:

def f2(a: "str類型參數(shù)a", b: "str類型參數(shù)b") -> str:     print("Annotations:", f2.__annotations__)     return a+b

其中

  • a: "str類型參數(shù)a"代表了對參數(shù)a的說明

  • b: "str類型參數(shù)b"代表了對參數(shù)b的說明

  • -> str:代表了函數(shù)的返回值

  • f2.__annotations__查看函數(shù)的注釋說明

運(yùn)行 print(f2('aa','bb')),輸出:

Annotations: {'a': 'str類型參數(shù)a', 'b': 'str類型參數(shù)b', 'return': }

aabb

那么定義了函數(shù)的參數(shù)類型和返回值類型我們是否就不可以對其進(jìn)行修改了呢,讓我們做如下嘗試:

print(f2(1,2)),輸出:

Annotations: {'a': 'str類型參數(shù)a', 'b': 'str類型參數(shù)b', 'return': }

可見, Function Annotations它的作用僅僅是為函數(shù)進(jìn)行注釋來用,并不能指定參數(shù)類型。

到此,相信大家對“如何正確使用Python中的函數(shù)注釋”有了更深的了解,不妨來實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

網(wǎng)站標(biāo)題:如何正確使用Python中的函數(shù)注釋
網(wǎng)頁網(wǎng)址:http://muchs.cn/article36/ihedpg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供電子商務(wù)、域名注冊、Google、微信公眾號品牌網(wǎng)站設(shè)計(jì)、靜態(tài)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

營銷型網(wǎng)站建設(shè)