标签:icm div set 面向 none 注意 init 类的方法 属性
1 class days(object): 2 def __init__(self, food): 3 self.food = food 4 5 @staticmethod # 实际和类没有关系 6 def tell(self): 7 print(‘这里有%s,%s快来‘ % (self.food, ‘name‘)) 8 9 10 a = days(‘香蕉‘) 11 a.tell(a)
1 lass f2(object): 2 name = ‘大哥大大‘ # 类变量 3 4 def __init__(self, name): 5 self.name = name 6 7 @classmethod 8 def eat(self): 9 print(‘这里有%s,【%s】‘ % (self.name, ‘类的方法‘)) 10 11 12 f2.eat()
由属性的定义和调用要注意一下几点:
1 定义时,在普通方法的基础上添加 @property 装饰器;
2 定义时,属性仅有一个self参数
3 调用时,无需括号
属性的定义有两种方式:
1 装饰器 即:在方法上应用装饰器
2 静态字段 即:在类中定义值为property对象的静态字段
1 class f3(object): 2 def __init__(self, name): 3 self.name = name 4 self.__food = None 5 6 @property 7 def eat2(self): 8 print(‘这里%s,【%s】‘ % (self.name, ‘在干什么‘)) 9 10 11 c = f3(‘阿猪‘) 12 c.eat2
1 class f4(object): 2 def __init__(self, name): 3 self.name = name 4 self.__food = None 5 6 @property # 把一个普通方法变为属性方法,获取 7 def eat(self): 8 print(‘这里%s,【%s】‘ % (self.name, self.__food)) # 由于没有参数self.__food在这没有调用 9 10 @eat.setter # 修改 11 def eat(self, food): 12 print(‘我要吃%s‘ % food) 13 self.__food = food 14 15 @eat.getter # 删除 16 def eat(self): 17 del self.__food 18 print(‘删除字段self.__food‘) 19 20 21 d = f4(‘阿豪‘) 22 d.eat 23 d.eat = ‘饺子‘ 24 del d.eat 25 d.eat
标签:icm div set 面向 none 注意 init 类的方法 属性
原文地址:http://www.cnblogs.com/jesse-gong/p/7878331.html