如下面的一個類:
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使用,效果和之前一樣:
新聞熱點
疑難解答