問題タブ [pep8]
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 - Pyflakes + 通常モードでの vim の pep8 チェック
私は Python の IDE として vim を使用していますが、これは素晴らしいものです。適切なプラグインで pyflakes + pep8 を使用します。これらの追加機能が必要です:
- pyflakes は、通常モードに切り替えることなく「オンザフライ」でチェックします。
- pep8 は「その場で」チェックします。現在、「F6」を割り当てて pep8 チェックを行うと、クイックフィックス ウィンドウがポップアップします。pep8 を pyflakes と同じ方法で、ただし通常モードで実行したい。
- pep8 と pyflakes のハイライトは異なる必要があります。
ありがとう
python - PEP 8: __future__ インポートをどのようにグループ化する必要がありますか?
PEP 8によると:
インポートは次の順序でグループ化する必要があります。
- 標準ライブラリのインポート
- 関連する第三者輸入
- ローカル アプリケーション/ライブラリ固有のインポート
インポートの各グループの間に空白行を入れる必要があります。
__future__
しかし、それは輸入について言及していません。インポート__future__
は、標準ライブラリのインポートと一緒にグループ化するか、標準ライブラリのインポートから分離する必要があります。
したがって、どちらがより好ましいですか:
また:
python - Pythonコメントで長いURLをフォーマットし、それでもPEP8に準拠するにはどうすればよいですか?
ブロックコメントで、80文字を超えるURLを参照したいと思います。
このURLを表示するための推奨される規則は何ですか?
bit.lyがオプションであることは知っていますが、URL自体は説明的です。それを短縮してから、短縮されたURLを説明するネストされたコメントを付けることは、くだらない解決策のように思えます。
python-3.x - ラッパー関数をアサートします
だから私はコードをレビューしているときにこの興味深い問題に遭遇しました:
独自のカスタマイズされたバージョンへのアサーションのラッピングがassert hasattr(...)
、属性が存在し、Noneではないことを確認する必要があるたびに使用するよりも高速で優れたソリューションであるかどうか疑問に思いますか?
python - Django / Python (PEP 8): Property というモデル クラスに名前を付けたい場合。Property または Property_ のままにする必要がありますか?
property()
Python の組み込み関数であることはわかっていますが、モデル クラスにProperty
. このような単純なもの:
クラスを呼び出す必要がありますProperty
かProperty_
? Python では大文字と小文字が区別されることはわかっていますが、質問する理由は、Django ではProperty
モデル クラスが として識別されるためmyapp.property
です。
関連する他のモデルでは、このようなフィールドにProperty
a を追加しました_
python - QuickFixウィンドウから自動pep8修正を適用します
バックグラウンド:
私は(素晴らしい)Vimプラグインpython-modeを使用しています。これにはpep8リンターが含まれています。この:PyLint
コマンドはすべてのリンターを実行し、QuickFixウィンドウでエラーを開きます。
問題:
ここで、pep8リンターのみを使用していて、QuickFixウィンドウにエラーがいっぱいあると仮定します。これらの各エラーをステップスルーし、自動修正(autopep8など)を適用したいと思います。autopep8ツールは素晴らしいですが、間違いを犯します。理想的には、Vimの各修正を監視できるようにしたいと思います(修正を適用し、確認し、次の修正に移動します)。
私の現在のアプローチは、Pythonファイルでautopep8を実行し、結果を比較してから、悪い変更を修復することです。
ただし、このアプローチは私の元に戻る履歴を台無しにし、不必要に複雑に見えます。もっと良い方法はありますか?
質問:
QuickFixウィンドウ内のpep8エラーにpep8修正(利用可能な場合)を自動的に適用する方法はありますか?
python - 2つの割り当てを1行に組み合わせてpep8スタイルのPythonコード
1行目と2行目を1行にまとめる方法は?
別の質問:
行を2行に分割するにはどうすればよいですか?
python - このグローバル クラス変数を pep8 に準拠させ、引き続き機能させるにはどうすればよいですか?
Pep8は、常にcls
クラス メソッド定義の最初の引数として使用することをお勧めします。cls.cartridge_state
ここで、インスタンス メソッド (この場合: ) でも使用できるクラス変数 (この場合: ) を使用したいとします__init__
。そのためには、変数をグローバルにする必要があります (以下のコードを参照)。ただし、インスタンス化FountainPen
すると、次のランタイム エラーが発生します。
しかし、もう一度変更global cartridge_state
するglobal cls.cartridge_state
と、モジュールをインポートしようとすると、syntaxError が発生します。
クラス変数cartridge_state
を pep8 に準拠させ、このコードをエラーなしで動作させるにはどうすればよいですか?
python - Python の isinstance() を適切に使用して、変数が数値かどうかを確認する方法は?
次のようなことをしている古い Python コードを見つけました。
予想どおり、pep8
この推奨される の使用法について文句を言いisinstance()
ます。
さて、問題は、numbers
モジュールが Python 2.6 で追加され、Python 2.5+ で動作するコードを記述する必要があることです。
だからif isinstance(var, Numbers.number)
解決策ではありません。
この場合、適切な解決策はどれでしょうか?
python - python 同じフォルダにインポート
同じフォルダー内の別のファイルにファイルをインポートする場合。
ファイル構造:
d.pyで:
更新 1 :
両方使ってる
と:
プログラムは実行できず、ImportError を発生させます。
問題を解決するために、私は使用します
ただし、標準的な方法ではないようです。
いくつかの有名なプロジェクトのように: 竜巻など、常にこの構造を使用しています。しかし、挿入行がありません。
インポート文が unittest ファイルにある場合、sniffer や autonose などの自動テスト ツールは、このような構造を実行できます。
どうしてか分かりません。
PEP328 または PEP366 では、これに関する優れた解決策は得られません。
PEP8 は、このようなことを行うことを推奨しています。
この問題は、次のような別のモジュール (別のファイル内) をインポートするときにも発生します。