簡述python中的@staticmethod做用及用法

關於@staticmethod,這裏拋開修飾器的概念不談,只簡單談它的做用和用法。

staticmethod用於修飾類中的方法,使其能夠在不建立類實例的狀況下調用方法,這樣作的好處是執行效率比較高。固然,也能夠像通常的方法同樣用實例調用該方法。該方法通常被稱爲靜態方法。靜態方法不能夠引用類中的屬性或方法,其參數列表也不須要約定的默認參數self。我我的以爲,靜態方法就是類對外部函數的封裝,有助於優化代碼結構和提升程序的可讀性。固然了,被封裝的方法應該儘量的和封裝它的類的功能相匹配。

這裏給出一個樣例來直觀的說明一下其用法。python

class Time():
    def __init__(self,sec):
        self.sec = sec
    #聲明一個靜態方法
    @staticmethod
    def sec_minutes(s1,s2):
        #返回兩個時間差
        return abs(s1-s2)

t = Time(10)
#分別使用類名調用和使用實例調用靜態方法
print(Time.sec_minutes(10,5),t.sec_minutes(t.sec,5))
#結果爲5 5
相關文章
相關標籤/搜索