熱線電話:13121318867

登錄
首頁精彩閱讀學兩個類里最常用的裝飾器@property與@staticmethod
學兩個類里最常用的裝飾器@property與@staticmethod
2022-03-25
收藏
學兩個類里最常用的裝飾器@property與@staticmethod

作者:Kevin

來源:麥叔編程

@property

@property裝飾器可以把類中的實例方法轉成一個“值”,上代碼:

class Circle: def __init__(self, dia): self.dia = dia

    @property def area(self):
        a = (self.dia**2)*3.14 return a

c = Circle(4)
print("面積:",c.area) # 這里的area方法可以不用帶()了 

運行代碼后:

> 面積:50.24 

用了@property裝飾器,最大的感受就是與常規的實例方法相比少了“()”也能調用了,這樣讓這個方法看上去更像一個“值”。

@staticmethod

上文算面積的方式有點麻煩,還要實例化類。能不能有一種即調即用的方式?

那就可以拿出@staticmethod裝飾器,「帶上這個裝飾器的方法可以不實例化就能用」。

因為不需要將類實例化就能調用,所以構造方法中的實例屬性都是不能拿來用的,所以參數里也沒有self關鍵字。

class Circle:  @staticmethod def area(dia): # 沒有self關鍵字,但是需要傳入參數 a = (dia**2)*3.14 return a

a = Circle.area(4) # 無需實例化,直接從類里調 print("面積:",a)

運行代碼后:

> 面積:50.24 

數據分析咨詢請掃描二維碼

若不方便掃碼,搜微信號:CDAshujufenxi

數據分析師資訊
更多

OK
客服在線
立即咨詢
日韩人妻系列无码专区视频,先锋高清无码,无码免费视欧非,国精产品一区一区三区无码
客服在線
立即咨詢