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()
posted @ 2020-02-20 13:02  w_boy  阅读(108)  评论(0编辑  收藏  举报