如下面的一个类:
class OldResistor(object): def __init__(self,ohms): self.ohms = ohms def get_ohms(self): return self.ohms def set_ohms(self, ohms): self._ohms = ohmsa = OldResistor(50e3)PRint ('no set %5r'% a.get_ohms())a.set_ohms(10e3)print ('with set %5r'% a.get_ohms())结果:
no set 50000.0with set 10000.0init方法在实例被创建时初始化,它可以把各种属性绑定到self,然后self指向被创建的实例本身(在这里是a)。然后,对象调用setter可以改变属性。上面代码还可以简化成: setter还可以配合@property使用,效果和之前一样:
新闻热点
疑难解答