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?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage