Python静态方法,类方法的使用区别

2023-12-13 8:26:39 网络知识 匿名

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培训机构:瀚银百科。

发表评论: