Definition von "Dunder" (D ouble unter score): http://www.urbandictionary.com/define.php?term=DunderCoding Stil (PEP8) - Modulebene "dunders"
Ich habe eine Frage nach der Platzierung der Modulebene "dunders" (wie __all__
, __version__
, __author__
etc.) in Python-Code.
Die Frage kam mir beim Lesen durch PEP8 und sehen this Stack Overflow Frage.
Die akzeptierte Antwort sagt:
__author__
eine globale „Variable“ ist und daher unter den Importen erscheinen soll.
Aber im PEP8 Abschnitt Module level dunder names las ich folgendes:
Modulebene "dunders" (dh Namen mit zwei führenden und zwei Unterstrichen Hinter) wie
__all__
,__author__
,__version__
usw. sollte nach dem Modul Docstring aber vor jedem Import Anweisungen außer__future__
importiert werden. Python schreibt vor, dass zukünftige Importe in dem Modul vor anderem Code außer Docstrings angezeigt werden müssen.
Die Autoren auch einen Code Beispiel:
"""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 die oben in PyCharm setzen, sehe ich diese Warnung (auch den Screenshot sehen):
PEP8: Modul Ebene Import nicht an der Spitze der Datei
Frage: Was ist der richtige Weg/Ort, um diese Variablen mit doppelten Unterstrichen zu speichern?
PEP 8 ist ein lebendiges Dokument. Berücksichtigen Sie, dass es zu dem Thema zuvor * still * gewesen sein könnte. –
@MartijnPieters - Gibt es eine Chance zu sehen, wann ein Abschnitt hinzugefügt/geändert wurde? – linusg