1:類(lèi)方法用在模擬java定義多個(gè)構(gòu)造函數(shù)的情況
由于python類(lèi)中只能有一個(gè)初始化方法,不能按照不同的情況初始化類(lèi),舉例如下:
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:類(lèi)中靜態(tài)方法方法調(diào)用靜態(tài)方法的情況
下面的代碼,靜態(tài)方法調(diào)用另一個(gè)靜態(tài)方法,如果改用類(lèi)方法調(diào)用靜態(tài)方法,可以讓cls代替類(lèi),(讓代碼看起來(lái)精簡(jiǎn)一些,也防止類(lèi)名修改了,不用在類(lèi)定義中修改原來(lái)的類(lèi)名)
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())
以上內(nèi)容為大家介紹了Python靜態(tài)方法,類(lèi)方法的使用區(qū)別,希望對(duì)大家有所幫助,如果想要了解更多Python相關(guān)知識(shí),請(qǐng)關(guān)注IT培訓(xùn)機(jī)構(gòu):千鋒教育。