Стиль кодирования (PEP8) - модуль уровня «Дундерс»

Определение «Дандер» (DoubleподГол):http://www.urbandictionary.com/define.php?term=Dunder

У меня вопрос по размещению модуля уровня "Дандерс" (вроде__all__, __version__, __author__ и т.д.) в коде Python.

Вопрос возник до меня при чтенииPEP8 и видяэтот Вопрос переполнения стека.

Принятый ответ говорит:

__author__ является глобальной «переменной» и поэтому должна отображаться под импортом.

Но в разделе PEP8Наименования модулей уровня dunder Я прочитал следующее:

Уровень "дундерс" на уровне модуля (то есть имена с двумя начальными и двумя последними подчеркиваниями), такие как__all__ , __author__ , __version__ и т. д. следует размещать после строки документации модуля, но перед любыми операторами импорта, кроме__future__ импорт. Python предписывает, что в будущем импорт должен появляться в модуле перед любым другим кодом, кроме строк документации.

Авторы также приводят пример кода:

"""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: импорт на уровне модуля не в начале файла

Вопрос: Как правильно хранить / хранить эти переменные с двойным подчеркиванием?

Ответы на вопрос(1)

Ваш ответ на вопрос