静态方法-类方法-属性方法

2023-06-05,,

1.静态方法

class Dog(object):
    def __init__(self,name):
        self.name = name

    @staticmethod       #静态方法,实际上跟类没什么关系了,只是名义上归类管,实际上在静态方法里访问不了类或实例中任何属性
    def eating(name):
        print("%s is eating %s"%(name,"baozi"))

d = Dog("crh")
d.eating("fy")


2.类方法

# 类方法
class Dog(object):
    name = "cqk"
    def __init__(self, name):
        self.name = name

    @classmethod        #类方法,只能访问类变量,不能访问实例变量
    def eating(self):
        print("%s is eating %s" % (self.name, "baozi"))

d = Dog("fy")
d.eating()


3.属性方法

class Dog(object):
    def __init__(self, name):
        self.name = name

    @property           #将一个方法变成一个静态属性
    def eating(self):
        print("%s is eating %s" % (self.name, "baozi"))

    @eating.setter      #加上这个装饰函数之后就可以给属性方法赋值
    def eating(self,food):
        print("set the food:%s"%(food))

    @eating.deleter     #加上这个装饰函数之后就可以删掉该属性方法
    def eating(self):
        print("删完了")

d = Dog("fy")
d.eating                #调用时就像在调用属性,不在加括号
d.eating = "tudou"
del d.eating

《静态方法-类方法-属性方法.doc》

下载本文的Word格式文档,以方便收藏与打印。