Различия между версиями 3 и 4
Версия 3 от 2019-12-01 15:14:46
Размер: 970
Редактор: FrBrGeorge
Комментарий:
Версия 4 от 2019-12-01 15:18:30
Размер: 969
Редактор: FrBrGeorge
Комментарий:
Удаления помечены так. Добавления помечены так.
Строка 20: Строка 20:
Подсказка: использовать [[py3howto:descriptor.html#descriptor-protocol|non-data descriptor]] Подсказка: использовать [[py3how:descriptor.html#descriptor-protocol|non-data descriptor]].

Написать декоратор класса 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)