1:類方法用在模擬java定義多個構造函數的情況
由于python類中只能有一個初始化方法,不能按照不同的情況初始化類,舉例如下:
classbook(object):
def__init__(self,title):
self.title=title
@classmethod
defcreat(cls,title):
book=cls(title=title)
returnbook
book1=book("python")
book2=book.creat("pythonismywork")
print(book1)
print(book2)
print(book1.title)
print(book2.title)
2:類中靜態方法方法調用靜態方法的情況
下面的代碼,靜態方法調用另一個靜態方法,如果改用類方法調用靜態方法,可以讓cls代替類,(讓代碼看起來精簡一些,也防止類名修改了,不用在類定義中修改原來的類名)
classfoo(object):
x=1
u=1
@staticmethod
defaverage(*mixes):
returnsum(mixes)/len(mixes)
@staticmethod
defstatic_method():
returnfoo.average(foo.x,foo.u)
@classmethod
defclass_method(cls):
returncls.average(cls.x,cls.u)
a=foo()
print(a.static_method())
print(a.class_method())
以上內容為大家介紹了Python靜態方法,類方法的使用區別,希望對大家有所幫助,如果想要了解更多Python相關知識,請關注IT培訓機構:千鋒教育。