Python中静态方法和类方法的区别
1个回答
展开全部
class A(object):
def fun_a(self):#实例方法
pass
@staticmethod
def fun_b():#静态方法
pass
@classmethod
def fun_c(cls):#类方法
pass
虽然静态方法和类方法调用方式都一样,都可以通过【类.方法名】来使用,但是类方法中有默认属性cls,指向自身的类,所以一般如果是单一的工具函数定义成静态方法,如果还需要调用类中其他的静态方法,或者类方法的函数定义成类方法。
def fun_a(self):#实例方法
pass
@staticmethod
def fun_b():#静态方法
pass
@classmethod
def fun_c(cls):#类方法
pass
虽然静态方法和类方法调用方式都一样,都可以通过【类.方法名】来使用,但是类方法中有默认属性cls,指向自身的类,所以一般如果是单一的工具函数定义成静态方法,如果还需要调用类中其他的静态方法,或者类方法的函数定义成类方法。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询