对。当’min’接受一个参数时,它假定它是iterable,然后迭代
然后取最小值。所以,
class A: def __init__(self, a, b): self.a = a self.b = b def __iter__(self): yield self.a yield self.b
Should work.
附加说明:如果你不想使用iter,我不知道怎么做
就这么做吧。您可能想创建自己的min函数,该函数调用
`_如果传递给的参数中有一个参数,则调用
旧的’min’else。
oldmin = mindef min(*args): if len(args) == 1 and hasattr(args[0], '_min_'): return args[0]._min_() else: return oldmin(*args)