1.概念:
靜態方法是類中的函數,不需要實例。靜態方法主要是用來存放邏輯性的代碼,主要是一些邏輯屬于類,但是和類本身沒有交互【不需要創建類的實例對象而是直接使用類名.靜態方法調用】,即在靜態方法中,不會涉及到類中的方法和屬性的操作【在類的方法傳參區間不需要傳入類的實例對象】??梢岳斫鉃閷㈧o態方法存在此類的名稱空間中。事實上,在python引入靜態方法之前,通常是在全局名稱空間中創建函數。
import time class TimeTest(object): def __init__(self,hour,minute,second): self.hour = hour self.minute = minute self.second = second @staticmethod def showTime(): return time.strftime("%H:%M:%S", time.localtime()) print(TimeTest.showTime()) t = TimeTest(2,10,10) nowTime = t.showTime() print(nowTime)
3.意義:
使用靜態函數,既可以將獲得時間的函數功能與實例解綁,我想獲得當前時間的字符串時,并不一定需要實例化對象,此時更像是一種名稱空間。
我們可以在類外面寫一個簡單的方法來做這些,但是這樣做就擴散了類代碼的關系到類定義的外面,這樣寫就會導致以后代碼維護的困難