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


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

staticmethod用於修飾類中的方法,使其可以在不創建類實例的情況下調用方法,這樣做的好處是執行效率比較高。當然,也可以像一般的方法一樣用實例調用該方法。該方法一般被稱為靜態方法。靜態方法不可以引用類中的屬性或方法,其參數列表也不需要約定的默認參數self。我個人覺得,靜態方法就是類對外部函數的封裝,有助於優化代碼結構和提高程序的可讀性。當然了,被封裝的方法應該盡可能的和封裝它的類的功能相匹配。

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

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM