Python学习之类方法,静态方法
# 对于类方法,第一个参数必须是类对象,一般以cls作为第一个参数 # 当方法中需要使用类对象(如访问私有类属性等)时,定义类方法 # 类方法一般和类属性配合使用 class Dog(object): __name = "alex" @classmethod def eat(cls): return cls.__name d = Dog() res = d.eat() print(res)
#静态方法既不需要传递类对象也不需要传递实例对象(形参没有self/cls) #静态方法能够通过实例对象和类对象去访问 #当方法中既不需要使用实例对象(如实例对象、实例属性), # 也不需要使用类对象(如类属性、类方法、创建实例等)时 #定义静态方法 #取消不必要的参数传递,有利于减少不必要额内存占用和性能消耗 class Dog(object): @staticmethod #实际上跟类没什么关系,就是一个普通的函数 def eat(): print(" is eating ") #使用对象访问 d=Dog() d.eat() #使用类访问 Dog.eat()