class Celsius: def __init__(self, temperature=0): print('initalising') self.temperature = temperature def __repr__(self): return(f'current temperature is {self.temperature} degrees C') def to_fahrenheit(self): return (self.temperature * 1.8) + 32 def get_temperature(self): print("Getting value") return self._temperature def set_temperature(self, value): if value < -273: raise ValueError("Temperature below -273 is not possible") print("Setting value") self._temperature = value return value temperature = property(get_temperature, set_temperature) # c = Celsius(20) # print(Celsius(20).get_temperature) # print(Celsius(20).set_temperature(25)) # Celsius(20).get_temperature() c = Celsius() print(c.to_fahrenheit())