⇤ ← Версия 1 от 2019-11-14 12:41:37
1353
Комментарий:
|
← Версия 2 от 2019-11-18 10:00:13 ⇥
1363
|
Удаления помечены так. | Добавления помечены так. |
Строка 24: | Строка 24: |
Вам понадобятся функции [[py3doc:functions.html#callable|callable()]] и [[py3doc:functions.html#getattr]] | Вам понадобятся функции [[py3doc:functions.html#callable|callable()]] и [[py3doc:functions.html#getattr|getattr()]] |
Написать функцию fcounter(), которая первым параметром получает некоторый класс, а остальные параметры применяет для создания экземпляра этого класса. Функция должна возвращать 4 отсортированных списка: имена методов класса, имена полей класса, имена методов, которые появились в экземпляре и имена полей, которые появились в экземпляре (под «полями» имеются в виду не-callable() объекты).
class C: x, y, z = 1, 3, 5 def X(self): return self.x def Y(self): return self.y def __init__(self, dx, dy, dz): self.x = dx self.Y = dy self.Z = dz cm, cf, om, of = fcounter(C, 6, 7, 8) print("Class: methods", *cm) print("Class: fields", *cf) print("Object: methods", *om) print("Object: fields", *of)
Вам понадобятся функции callable() и getattr()
Class: methods X Y Class: fields x y z Object: methods Object: fields Y Z