Стиль кодирования (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: импорт на уровне модуля не в начале файла
Вопрос: Как правильно хранить / хранить эти переменные с двойным подчеркиванием?