Написать функцию mix(…) от произвольного количества параметров-объектов. Функция воспринимает объекты как инкапсулированные пространства имён и возвращает объект, содержащий объединение полей всех объектов-параметров. Поля, чьи имена начинаются на "_", и все callable-поля (методы и функции) отбрасываются. Если в некоторых объектах поля имеют одинаковые имена, используется значение последнего из параметров. Дополнительно у возвращаемого объекта переопределяется __str__(): она возвращает строку вида "поле=значение, поле=значение, …", в которой имена полей отсортированы в алфавитном порядке.

   1 class C:
   2     imag = 100500
   3 e = mix(range(3, 4, 5), 6, C)
   4 print(e)
   5 print(e.denominator, e.imag, e.numerator, e.real, e.start, e.step, e.stop)  

denominator=1, imag=100500, numerator=6, real=6, start=3, step=5, stop=4
1 100500 6 6 3 5 4 

Подсказка: это задание на обычный setattr()


CategoryHomework

LecturesCMC/PythonIntro2024/Homework_MixNamespace (последним исправлял пользователь FrBrGeorge 2024-10-30 22:02:00)