Python には 3 値記述子はありませんが、シミュレーションを通じて実装できます。
それらの 1 つは次のとおりです:
(X および V1) または V2
通常、エラーは発生しませんが、記事には、V1="" の場合に問題が発生することも記載されています
たとえば、
print (True および'') または 'V'
print (False および '') または 'V'
出力は常に次のとおりです: V
完璧な解決策は「Python コア プログラミング」で説明されています:
V1 if :Y)、または(C は条件式; 関数です。プログラマが間違いを犯しにくいように、コードは単純であるべきだと彼は信じていました。しかし、主に人々がそれをシミュレートしようとしたため、10 年以上後に断念しました。 and と or を使用しましたが、そのほとんどは間違っていました。FAQ によると、正しい方法 (唯一ではありません) は
(C and [X] or [Y])[0] です。コミュニティはこの構文に同意していません (PEP 308 を参照してください。にはさまざまな解決策があります。) 人々は Python でのこの問題に対する大きな要求を表明しました
Guido van Rossum は、最終的に最も有望な (そして彼のお気に入りの) ものを選択しました。 PEP によると、「このレビューでは、さまざまなアプリケーションや、さまざまなプログラマによって完成されたコードを含む、多数の実際のケースが検討されています。」 Python 2.5の統合では、 X if C else Y と決定されました。
上で述べたように、この構文はpython2.5でのみ追加されましたが、2.4以前のバージョンは通常使用されないため、これで十分です~