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
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。