問題タブ [zen-of-python]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - Pythonでstderrに出力するには?
stderr に書き込む方法はいくつかあります。
それは Python #13 †</sup> の zen と矛盾しているように見えますが、ここでの違いは何ですか? どちらか一方に利点または欠点がありますか? どの方法を使用する必要がありますか?
†</sup>それを行う明白な方法は 1 つ、できれば 1 つだけにする必要があります。
python - Pythonがタプル、リスト、セット、辞書を根本的に異なるものとして扱うのはなぜですか?
私がPythonを愛する理由の1つは、タプル、リスト、セット、および辞書によって提供される表現力/プログラミングの労力の削減です。リスト内包表記ととを使用したいくつかの基本的なパターンを理解するin
とfor
、人生はとても良くなります!Pythonは素晴らしいです。
しかし、なぜこれらの構成要素がそのまま異なる方法で扱われるのか、そしてこれが時間の経過とともにどのように変化する(見知らぬ人になる)のか疑問に思います。Python 2.xに戻ると、それらはすべて基本的なコレクションタイプの単なるバリエーションであり、一部の非エキゾチックなユースケースでは辞書をリストに変換して戻す必要があるというのはちょっと苛立たしいことでした。また。(辞書は、特定の一意性制約を持つタプルの単なるリストではありませんか?リストは、異なる種類の一意性制約を持つ単なるセットではありませんか?)
現在、3.xの世界では、より複雑になっています。現在、タプルという名前が付けられています。これは、特殊なケースの辞書のように感じ始めています。現在、順序付けられた辞書があり、リストのように感じ始めています。そして、注文したセットのレシピを見たところです。私はこれが続いていることを想像することができます...ユニークなリストなどはどうですか?
PythonのZenは、「それを行うための明白な方法は1つ、できれば1つだけでなければならない」と述べています。この大量の特殊なコレクションタイプは、このPythonの原則と矛盾しているように思われます。
筋金入りのPythonistasはどう思いますか?
python - 条件式のraiseステートメント
「侍の原則」に従って、私は自分の関数でこれを行おうとしていますが、それは間違っているようです...
これを行う他の「美しい」方法はありますか?ありがとう
python - Python の禅 vs with ステートメント - 哲学的熟考
私は単にあなたの時間を無駄にするつもりはありませんが、Python のwith
ステートメントを使用しているときに、「ネストされたものよりもフラットの方が優れている」という「Python の禅」の 5 行目に本当に反しているということをあなたにも思い浮かびましたか? 賢明な Python の第一人者で、これに関する洞察を共有してもらえますか?
with
(私は常に、代わりにf.close()
...を使用するたびに、コードにもう 1 レベルのインデントがポップアップすることに気付きますtry: ... finally: ...
。とにかく使用しないわけではないので、好きになっても、その利点はwith
まだわかりません。そしてPythonをますます理解する...)
@glglgl (申し訳ありませんが、コメントでコードを記述する方法が見つかりません): はいwith
。
...そして、 with なしで with のみを使用することは、とにかく with の代わりにtry
使用するハックな「1回限りの」コードのタイプで人々が行うことですf.close()
(これは、例外が処理の前にスローされた場合にファイルが閉じられない可能性があるため、悪いことです) f.close()
)、つまり、「ハッキーな」コードの場合、人々はそれを使用しないだけです。with
なぜなら、私にはわかりませんが、彼らはそれが「空想的」すぎると思うからだと思います。私には、実際のユースケースは残っていません... それは本当に考えていました。
python - ハッシュ可能な要素のリストから重複を Python で削除する
やろうと思っただけ
からすべての重複エントリを削除しますmylist
。ただし、ビルトインの連鎖は常に少しハックに感じます。リストから重複を排除する (最も) pythonic/zen な方法は何ですか?
検索中に、「重複を排除する」問題への回答として上記の構成が見つかりました。これは悪い考えだと叫ぶ人は誰もいませんでしたが、それは答えを暗示しているだけであり、明示的は暗黙的よりも優れています。
上記の構成は、(ハッシュ可能な要素の) リストから重複を排除する方法ですか?
そうでない場合、何ですか?
python - 例外を処理するための望ましい方法は何ですか?
コードを書いているときにわからないことがあれば、The Zen of Python
もう一度読み直そうとしています。今回は、それらの行が私をためらわせます。
現在のコードでは、次のような関数がいくつかあります。
そして、それらのすべての呼び出しは次のようになります。
このようなコードの例外は、上位層で発生してキャッチされます。
しかし、それはこのようであるべきですか?
add_v_1
例外が発生する可能性がTypeError
あり、それから回復したい。したがって、可能な関数の呼び出しは次のようになります。
しかし、呼び出しごとに例外処理を行う必要があります。これは重く見えます。
だから、私はできる:
呼び出しは次のようになります。
よりきれいに見えます。
これらのアプローチはすべて従うように見えますThe Zen of Python
が、どれがより良い選択ですか?