1.静态方法

classDog(object):def__init__(self,name):self.name=name@staticmethod#静态方法,实际上跟类没什么关系了,只是名义上归类管,实际上在静态方法里访问不了类或实例中任何属性defeating(name):print("%siseating%s"%(name,"baozi"))d=Dog("crh")d.eating("fy")


2.类方法

#类方法classDog(object):name="cqk"def__init__(self,name):self.name=name@classmethod#类方法,只能访问类变量,不能访问实例变量defeating(self):print("%siseating%s"%(self.name,"baozi"))d=Dog("fy")d.eating()


3.属性方法

classDog(object):def__init__(self,name):self.name=name@property#将一个方法变成一个静态属性defeating(self):print("%siseating%s"%(self.name,"baozi"))@eating.setter#加上这个装饰函数之后就可以给属性方法赋值defeating(self,food):print("setthefood:%s"%(food))@eating.deleter#加上这个装饰函数之后就可以删掉该属性方法defeating(self):print("删完了")d=Dog("fy")d.eating#调用时就像在调用属性,不在加括号d.eating="tudou"deld.eating