码迷,mamicode.com
首页 > 其他好文 > 详细

类的特殊方法

时间:2018-10-08 11:22:51      阅读:159      评论:0      收藏:0      [点我收藏+]

标签:def   print   @class   实例变量   init   eating   tin   实例   foo   

```# # 静态方法(只是名义上归类管理,但实际上在今天方法里无法访问类或实例中的任何属性) class cat(object): def __init__(self,name): self.name=name @staticmethod # 实际上和类没关系了 def eat(self): print("%s is eating %s "%(self.name,"food")) c=cat("alex") c.eat(c) #强行有关系要把实例传进去(其实就是一个函数) # 类方法 class cat(object): name="alex" # 类变量 def __init__(self,name): self.name=name @classmethod # 类方法只能访问类变量,不能访问实例变量 def eat(self): print("%s is eating %s "%(self.name,"food")) c=cat("拉大") c.eat() #强行有关系要把实例传进去(其实就是一个函数) # 属性方法(把一个方法变成静态属性) class cat(object): name="alex" # 类变量 def __init__(self,name): self.name=name self.__food=None @property # 把一个方法变成静态属性 def eat(self): print("%s is eating %s " % (self.name,self.__food)) @eat.setter #(修改) def eat(self,food): print("set food is " , food) self.__food=food @eat.deleter #(删除) def eat(self): del self.__food print("删完了") c=cat("拉大") c.eat c.eat="汉堡" c.eat del c.eat c.eat

类的特殊方法

标签:def   print   @class   实例变量   init   eating   tin   实例   foo   

原文地址:http://blog.51cto.com/12992048/2295233

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!