-常常出現(xiàn)在python函數(shù)定義的函數(shù)名后面,為函數(shù)添加元數(shù)據(jù),描述函數(shù)的返回類型,從而方便開發(fā)人員使用。比如:

南宮網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián)公司,南宮網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為南宮1000多家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\外貿(mào)網(wǎng)站制作要多少錢,請找那個(gè)售后服務(wù)好的南宮做網(wǎng)站的公司定做!
通常的寫法是:
def attrs(self) - _Attrs:
pass
這種寫法通常是寫在函數(shù)的函數(shù)名后面
def add(x, y) - int:
return x+y
這里面,元數(shù)據(jù)表明了函數(shù)的返回值為int類型。
至于樓主問題中的,- _Attr則表明函數(shù)返回的是一個(gè)外部可訪問的類的私有變量。
修飾符,比如說
class A:
@staticmethod
def m(self):
pass
就相當(dāng)于
class A:
def m(self):
pass
m = staticmethod(m)
其實(shí)就是一調(diào)用一個(gè)函數(shù)參數(shù)為下行的變量,并且替換它
擴(kuò)展資料:
函數(shù)修飾符
@用做函數(shù)的修飾符,可以在模塊或者類的定義層內(nèi)對函數(shù)進(jìn)行修飾,出現(xiàn)在函數(shù)定義的前一行,不允許和函數(shù)定義在同一行。
一個(gè)修飾符就是一個(gè)函數(shù),它將被修飾的函數(shù)作為參數(shù),并返回修飾后的同名函數(shù)或其他可調(diào)用的東西。
在Python的函數(shù)中偶爾會看到函數(shù)定義的上一行有@functionName的修飾,當(dāng)解釋器讀到@這樣的修飾符的時(shí)候會優(yōu)先解除@后的內(nèi)容,直接就把@的下一行的函數(shù)或者類作為@后邊函數(shù)的參數(shù),然后將返回值賦給下一個(gè)修飾的函數(shù)對象。
參考資料來源:百度百科-Python (計(jì)算機(jī)程序設(shè)計(jì)語言)
【@】符號在python中是裝飾器的意思。
裝飾器對一個(gè)可調(diào)用對象(函數(shù)、方法、類等等)進(jìn)行裝飾,它返回的也是一個(gè)可調(diào)用對象。
一般情況下,裝飾器是對被裝飾對象的修飾與增強(qiáng)。用現(xiàn)實(shí)事物類比的話,可以類比為中間商:中間商不生產(chǎn)產(chǎn)品,它將工廠生產(chǎn)的產(chǎn)品進(jìn)行包裝、運(yùn)輸后再銷售給顧客。裝飾器不實(shí)現(xiàn)核心功能,它提供對目標(biāo)函數(shù)調(diào)用的封裝與強(qiáng)。
它裝飾的方法返回值是一個(gè)對象(BillList、Bill、List[BillDetail]等),而裝飾器【enabled_cache】的作用如它的名稱一樣:使用緩存。可以看到,這個(gè)裝飾器函數(shù)中定義了一個(gè)函數(shù)【wrapper】然后將這個(gè)wrapper作為返回值。這樣,原本調(diào)用ProductionBos.bill_with_last_week的代碼就不需要做任何改變就能享受到ProductionBos.bill_with_last_week原有的功能(得到一個(gè)BillList對象)和enabled_cache提供的附加功能(如果該對象有緩存,就不再從數(shù)據(jù)庫查詢)。
文章標(biāo)題:python@函數(shù),python函數(shù)調(diào)用另一個(gè)函數(shù)
網(wǎng)頁網(wǎng)址:http://chinadenli.net/article19/dsisogh.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供移動(dòng)網(wǎng)站建設(shè)、面包屑導(dǎo)航、外貿(mào)網(wǎng)站建設(shè)、微信公眾號、網(wǎng)站導(dǎo)航、全網(wǎng)營銷推廣
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)