Python 可以强制max只返回浮点值吗

Python 可以强制max只返回浮点值吗,python,python-3.x,Python,Python 3.x,我有一个类,它有两个属性(索引和值)。我希望能够调用max并只返回值(这是一个浮点值) 根据,您可以使用任意iterable:例如,您可以像这样迭代值: points = [Point(1, 23.33), Point(2, 12.3)] m = max(p._value for p in points) 或者使用float进行迭代: m = max(float(p) for p in points) 这听起来真是个坏主意。只需调用float。您有替代方法吗?为什么不将一个执行强制的函数定义

我有一个类,它有两个属性(索引和值)。我希望能够调用max并只返回值(这是一个浮点值)

根据,您可以使用任意iterable:例如,您可以像这样迭代值:

points = [Point(1, 23.33), Point(2, 12.3)]
m = max(p._value for p in points)
或者使用
float
进行迭代:

m = max(float(p) for p in points)

这听起来真是个坏主意。只需调用
float
。您有替代方法吗?为什么不将一个执行强制的函数定义为成员函数,这样您就可以执行:
p.max()
?另外,
\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu
还有一个额外的
,您应该检查操作符重载中其他操作数的类型(并返回
NotImplemented
)。你为什么需要这种奇怪的行为?
max
会给它提供最多的对象,它不会自动转换,这不是它的工作。
points = [Point(1, 23.33), Point(2, 12.3)]
m = max(p._value for p in points)
m = max(float(p) for p in points)