私たちは主に、よく知られている不快感やいぼを修正し、多くの古い残骸を取り除いています
それは何が違うのか(修正)について述べていますが、なぜ(問題)については触れていません。何が問題だったのかわかりません。修正によって解決される問題は何ですか?
すぐに頭に浮かぶものに名前を付けます。
nonlocal
:これがないと、クロージャーは閉じられた変数を上書きできません。このニーズは、デコレータやその他の高次関数で時々発生します。 (外部APIを切り替えずに)必要な変更可能な状態を変更可能なオブジェクトに格納する唯一の妥当な回避策は、非常に醜い方法です。in
テストのセットリテラルのディット(Python 3.2以降、これらはピープホールオプティマイザーによっても最適化されます)。0777
表記は、慣れていない場合の落とし穴です(他のコンテキストでは、先行ゼロを追加しても値もベースも変更されません)。except ex, var
-> except ex as var
一般的なエラーを修正しますexcept ValueError, IndexError
(両方をキャッチする必要がありますが、最初のものだけをキャッチし、IndexError
という名前をキャッチした例外で上書きします)。