1.加入property以后,这个方法变成了属性
class F(object):def __init__(self,name):self.name = name@propertydef fname(self): # 注意这里不能加入其他参数print('你的名字是{}'.format(self.name))return self.nameobj1 = F('侯震宇')print(obj1.name)
2.@x.setter 和 @x.deleter两种装饰器
class F(object):def __init__(self, name):self.name = name@propertydef Color(self): # 注意这里不能加入其他参数print('颜色是{}'.format(self.color))return self.color@Color.setterdef Color(self,color):self.color = color@Color.deleterdef Color(self):del self.color"""这里要注意:@property @x.setter @x.deleter这三个东西 后面的出现时,必须得先出现前面的才行名称是可以连续使用的"""obj1 = F('侯震宇')obj1.Color = '黄色'del obj1.Color
还有一种等价表示方法:
class F(object):def __init__(self, name):self.name = namedef getColor(self): # 注意这里不能加入其他参数print('颜色是{}'.format(self.color))return self.colordef setColor(self,color):self.color = colordef delColor(self):del self.colorColor = property(getColor,setColor,delColor)"""这里要注意:@property @x.setter @x.deleter这三个东西 后面的出现时,必须得先出现前面的才行名称是可以连续使用的"""obj1 = F('侯震宇')obj1.Color = '黄色'del obj1.Color
