max()
не может этого сделать , он может возвращать только один из элементов, заданных в качестве входных данных, не создает новые экземпляры.
Вам необходимо реализовать свою собственную функцию:
def max_xy_point(*points):
if not points:
raise ValueError("Need at least 2 points to compare")
if len(points) == 1:
points = points[0]
return Point(
max(p.x for p in points),
max(p.y for p in points)
)
Как и встроенная функция max()
, она может принимать либо одну последовательность (max([p1, p2, p3, ...])
, либо отдельные аргументы (max(p1, p2, p3, ...)
).