定義:http://www.urbandictionary.com/define.php?term=Dunderコーディングスタイル(PEP8) - モジュールレベル "dunders" "Dunder"(<strong>D</strong> ouble <strong>スコア</strong>下)の
私は、モジュールレベルの配置に従って、疑問を持っていますPythonコードで "ダンサー"(__all__
、__version__
、__author__
など)。
PEP8を読み、thisを参照している間に質問が出てきました。Stack Overflow question。
受け入れ答えはこう述べています。
__author__
は、グローバルな「変数」であるため、輸入の下に表示されます。
しかしPEP8セクションModule level dunder namesに私は、次をお読みください。
モジュールレベル "dundersは" など
__all__
、__author__
、__version__
、など(2が先頭と2は アンダースコアを末尾に持つすなわち名) は、モジュールdocstringの後に、インポート文の前に置かなければなりません__future__
からインポートを除く。 Pythonでは、future-imports は、docstrings以外の他のコードの前にモジュール内に現れなければならないことを要求しています。"""This is the example module. This module does stuff. """ from __future__ import barry_as_FLUFL __all__ = ['a', 'b', 'c'] __version__ = '0.1' __author__ = 'Cardinal Biggles' import os import sys
しかし、私はPyCharmに上記置いたとき、私は(もスクリーンショットを参照)、この警告を参照してください:
著者らはまた、コード例を与える
PEP8:モジュールをファイルの先頭にないレベルのインポート
質問:これらの変数をダブルアンダースコアで保存する正しい方法は何ですか?
PEP 8は、生きている文書です。それは前に被験者に*沈黙していた可能性があることを考慮してください。 –
@MartijnPieters - セクションが追加/変更されたときに見えることはありますか? – linusg