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培训机构:千锋教育。