-1

関数minmaxは非常に柔軟です。それらは、任意の数のパラメーター、または反復可能な単一のパラメーターを取ることができます。anyallは、任意のサイズの iterable を取得する点で似ていますが、複数のパラメーターを取得することはありません。この動作の違いには理由がありますか?

この質問には答えられないように思えるかもしれませんが、Python を強化するプロセスはかなりオープンです。多くの一見恣意的な設計上の決定は、公的記録の一部です。過去に同様の質問が回答されているのを見たことがありますが、これも同様であることを願っています。

この質問に触発されました: Is there an builtin function version of andand/or orin Python?

4

1 に答える 1

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 開発者は心配していません。

于 2013-04-12T03:52:37.330 に答える