私は非常に長いifステートメントをPythonで持っています。いくつかの行に分割する最良の方法は何ですか?最高の私は、最も読みやすい/共通の意味です。非常に長いPythonのステートメント
答えて
PEP8によれば、長い行はかっこで囲む必要があります。括弧を使用すると、バックスラッシュを使用せずに行を分割できます。また、ブール演算子の後に改行を置くようにしてください。例えば
:ここ
if (abcdefghijklmnopqrstuvwxyz > some_other_long_identifier and
here_is_another_long_identifier != and_finally_another_long_name):
# ... your code here ...
pass
'E129'をオフにするか、Andrew Clarkのソリューション(http://stackoverflow.com/a/5253419/981933)を使用してください。そうしないとPEP8がエラーを投げます。 https://github.com/PyCQA/pep8/issues/126とhttps://github.com/PyCQA/pep8/issues/386を参照してください。 –
'E129'をオフにしないでください。単にそれに従ってください。それなしで物を読むのは難しいです。 –
まあ、私は 'E129'に従う方法を知らない。私が試したことでうれしいことではありません。 – user2061057
は、行の長さを制限するにPEP 8から直接の例である:
class Rectangle(Blob):
def __init__(self, width, height,
color='black', emphasis=None, highlight=0):
if (width == 0 and height == 0 and
color == 'red' and emphasis == 'strong' or
highlight > 100):
raise ValueError("sorry, you lose")
if width == 0 and height == 0 and (color == 'red' or
emphasis is None):
raise ValueError("I don't think so -- values are %s, %s" %
(width, height))
Blob.__init__(self, width, height,
color, emphasis, highlight)
しかし、これは、pep8 lintチェッカーを使用して、次の論理行と同じインデントで視覚的にインデントされた行E129を引き起こします。 – ArtOfWarfare
@ArtOfWarfareインデントが台無しになった。修正が保留中の修正、または[PEP8](http://legacy.python.org/dev/peps/pep-0008/)の例を直接参照してください。 – altendky
複数のパラメータを1行に入れても読みやすさは損なわれますが、残りの部分は2行目に分割して置いてください。長すぎない場合は、それぞれを破ったり、1行にまとめたりしてください。 「高さは何のために特別なの?後に休憩があるの?」 「なぜ、「幅」や「色」の後に壊れないの?」この種の質問は、厳密な規則に従わない破りでのみ発生します。 – Zelphir
- 1. この非常に長いJqueryステートメントを計算する
- 2. 非常に長いRxイベントチェーン
- 3. 非常に長い文字列のページ設定Django 1.11(Python 3.6)
- 4. クリーンアップに非常に長い文の
- 5. 非常に遅いoracle選択ステートメント
- 6. Rails:非常に長い時間のページロード
- 7. 非常に長い2進数のデコード
- 8. は非常に長い文字列に
- 9. Java Infinite非常に長いループ
- 10. wordwrap非常に長い文字列
- 11. DirectoryInfo、FileInfo、非常に長いパス
- 12. 起動時間が非常に長い
- 13. Javascriptと非常に長い文字列
- 14. Solr 6.4.1非常に長い更新
- 15. 非常に長い要求時間VS2010
- 16. 非常に長いwit.ai応答時間
- 17. PHP - (非常に)長いロードwith fopen
- 18. PythonのインタラクティブブローカーIBのAPIは非常に非常に遅い
- 19. AX2012で非常に迅速にselectステートメント
- 20. 無効なメソッド非常に長いテンプレート/ビューのコード長
- 21. Crystal Reports - 非常に大規模なデータベース、非常に長い処理時間
- 22. Javaの非常に冗長なクラスライブラリ
- 23. SQlite(sqlite3 python)に非常に長い文字列を保存するには?
- 24. プロジェクトオイラーQ3 Pythonの非常に遅い
- 25. Javaの長いテキストファイルの読み込みが非常に遅い
- 26. ページの送信時に非常に長い時間のページロード
- 27. 非常に長いドロップダウンメニューのキーボード入力の項目にスクロール
- 28. 非常に短い文書の長い質問
- 29. "クエリ終了"ステップが非常にランダムな時間に非常に長く
- 30. Gulp Sassが非常に長い予期しないルールセットにコンパイル
は、コードをしてください表示! –