为什么不采用min和max等多个参数?

时间:2013-04-12 03:17:33

标签: python parameters language-design

函数minmax非常灵活;它们可以采用任意数量的参数,也可以采用可迭代的单个参数。在获取任何大小的可迭代时,anyall类似,但它们不会使用多个参数。是否存在这种行为差异的原因?

我意识到这个问题似乎无法回答,但增强Python的过程非常开放;许多看似随意的设计决策都是公共记录的一部分。我已经看到过去回答的类似问题了,我希望这个问题也可以。

受此问题的启发:Is there a builtin function version of and and/or or in Python?

1 个答案:

答案 0 :(得分:1)

Python中的许多功能都是根据用户需要的数量来建议的,但是它们也必须符合语言的风格。人们经常需要这样做:

max_val = 0
for x in seq:
    # ... do complex calculations
    max_val = max(max_val, result)

保证使用多个参数。它看起来也不错。我没有听说有人需要使用any(x, y, z),因为它最常用于序列。对于少量值,您可以使用and / or逻辑运算符,对于很多值,您确实应该使用列表或者代码变得混乱。我确信没有太多的想法进入这个因为它真的不会让任何人受益,它没有大量需求所以Python开发人员不担心它。