"""Реализация дескриптора с комиссией""" class Value: """Значение""" def __init__(self): """Конструктор класса""" self.amount: "float" = 0.0 def __get__(self, obj, obj_type) -> "float": """Возвращение значения""" return self.amount def __set__(self, obj, value): """Присваивание значения""" self.amount = value - value * obj.commission class Account: """Счет""" amount: "Value" = Value() def __init__(self, commission): """Конструктор класса""" self.commission: "float" = commission def __str__(self) -> "str": """Строковое представление класса""" return f"{self.commission}" def __repr__(self) -> "str": """Строковое представление класса""" return f"Account({self.commission})"