Я столкнулся с проблемой преобразования типа при использовании дескрипторов в Python. Я не понимаю, почему формат не изменился. Пожалуйста, обратитесь к приведенному ниже коду.
#!/bin/python3
import sys
import os
class Celsius():
def __get__(self, instance, owner):
return float(self.__celsius)
def __set__(self, instance, value):
self.__celsius = value
self.__fahrenheit = float(value * 9/5 + 32)
class Temperature():
celsius=Celsius()
def __init__(self,fahrenheit):
self.fahrenheit=fahrenheit
self.celsius=(fahrenheit-32)*(5/9)
t1 = Temperature(32)
print(t1.fahrenheit, t1.celsius)
t1.celsius=0
print(t1.fahrenheit, t1.celsius)
Результат будет следующим:
32 0,0 32 0,0
Но, насколько я понимаю, при печати второй строки она должна быть
32 0,0 32,0 0,0
Может ли кто-нибудь помочь мне понять, что происходит в фоновом режиме и как достичь ожидаемого результата?