“Dunder”的定义(双下分):http : //www.urbandictionary.com/define.php ?term= Dunder
根据Python 代码中模块级“dunders”(如 、 等)的位置,我有一个__all__
问题__version__
。__author__
在阅读PEP8并看到这个Stack Overflow 问题时,我想到了这个问题。
接受的答案说:
__author__
是一个全局“变量”,因此应该出现在导入的下方。
但在 PEP8 部分模块级别的名称中,我读到以下内容:
模块级别的“dunders”(即带有两个前导和两个下划线的名称),例如,,,等
__all__
应该放在模块文档字符串之后,但在任何导入语句之前,除了来自导入。Python 要求未来导入必须出现在模块中除文档字符串之外的任何其他代码之前。__author__
__version__
__future__
作者还给出了一个代码示例:
"""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:模块级导入不在文件顶部
问题:用双下划线存储这些变量的正确方法/位置是什么?