Написать декоратор класса sizer, который добавляет в него поле size, равное длине объекта, если у объекта есть длина, или модулю целочисленного представления объекта в противном случае (предполагается, что ошибок нет). Предоставить пользователю возможность произвольно менять это поле.

   1 @sizer
   2 class S(str): pass
   3 
   4 @sizer
   5 class N(float): pass
   6 
   7 s = S("QSXWDC")
   8 n = N(2.718281828459045)
   9 print(s, n)
  10 print(s.size, n.size)
  11 s.size, n.size = "Wait", "what?"
  12 print(s.size, n.size)

Подсказка: использовать non-data descriptor.

QSXWDC 2.718281828459045
6 2
Wait what?


CategoryHomework

LecturesCMC/PythonIntro2019/Homework_UniSize (последним исправлял пользователь FrBrGeorge 2019-12-01 15:18:30)