当前位置: 首页 > news >正文

python set方法

python set方法

class Resistor:def __init__(self, ohms):self.ohms = ohmsself.current = 0self.voltage = 0class VoltageResistor(Resistor):def __init__(self, ohms):super().__init__(ohms)self._voltage = 0@propertydef voltage(self):return self._voltage@voltage.setterdef voltage(self, voltage):self._voltage = voltageself.current = self._voltage / self.ohmsr2 = VoltageResistor(1e3)
r2.voltage = 10
print(r2.current)class BoundOhmsResistor(Resistor):def __init__(self, ohms):super().__init__(ohms)@propertydef ohms(self):return self.ohms@ohms.setterdef ohms(self, ohms):if ohms <= 0:raise ValueError(f'{self.ohms} must greater than 0')self._ohms = ohmsr3 = BoundOhmsResistor(1e3)
r3.ohms = 0