Coding Style (PEP8) - Modulebene "dunders"
Definition von "Dunder" DoubleunteErgebnis):http: //www.urbandictionary.com/define.php? term = Dunder
Ich habe eine Frage nach der Platzierung der Modulebene "dunders" (wie__all__
, __version__
, __author__
etc.) in Python-Code.
Die Frage kam zu mir beim Lesen durch PEP8 und sehenDie Stapelüberlauf-Frage.
Die akzeptierte Antwort lautet:
__author__
ist eine globale "Variable" und sollte daher unter den Importen erscheinen.
Aber in der PEP8 SektionModule Level Dunder Names Ich habe folgendes gelesen:
Modulebene "dunders" (d. H. Namen mit zwei führenden und zwei nachfolgenden Unterstrichen) wie__all__
, __author__
, __version__
usw. sollten nach dem Modul-Docstring, aber vor allen Importanweisungen außer von @ platziert werde__future__
importiert. Python schreibt vor, dass Future-Imports im Modul vor allen anderen Codes außer docstrings erscheinen müssen.
Die Autoren geben auch ein Codebeispiel:
"""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
Aber wenn ich das oben genannte in PyCharm stecke, sehe ich diese Warnung (siehe auch den Screenshot):
PEP8: Import auf Modulebene nicht oben in Datei
Frage: Was ist der richtige Weg / Ort, um diese Variablen mit doppelten Unterstrichen zu speichern?