Понимание __get__ и __set__ и дескрипторов Python

Я пытаюсь понять, что такое Python s дескрипторы и для чего они могут быть полезны. Однако у меня это не получается. Я понимаю, как они работают, но вот мои сомнения. Рассмотрим следующий код:

class Celsius(object):
    def __init__(self, value=0.0):
        self.value = float(value)
    def __get__(self, instance, owner):
        return self.value
    def __set__(self, instance, value):
        self.value = float(value)


class Temperature(object):
    celsius = Celsius()
  1. Зачем мне нужен класс дескриптора?

  2. Что здесь экземпляр и владелец ? (в __ получить __ ). Какова цель этих параметров?

  3. Как мне вызвать / использовать этот пример?

287
задан TrebledJ 5 April 2019 в 01:56
поделиться