Проблема преобразования типа при использовании дескриптора в Python - PullRequest
0 голосов
/ 06 мая 2020

Я столкнулся с проблемой преобразования типа при использовании дескрипторов в 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

Может ли кто-нибудь помочь мне понять, что происходит в фоновом режиме и как достичь ожидаемого результата?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...