"永远不要发明这样的名字;只能按照记录使用它们." 谁?

n61*_*007 8 python terminology pep8 naming-conventions

我阅读PEP 8是为了知道(假想的)我是否创建了一个具有名称的对象,这__foo__是一个好主意.PEP 8说__double_leading_and_trailing_underscore__:

不要发明这样的名字; 只记录使用它们.

我的问题是:谁?

我是电脑程序编制员.我为其他程序员编写了一个API.Python由程序员实现.实现的语言参考是由程序员或至少是程序员编写的,程序员使用我的API会编写一些可能会被其他程序员使用或不会使用的东西.

现在这个展开了,哪个程序员是PEP 8,当他们说"从不发明这样的名字"时?

显然有人鼓励发明这样的名字,因为它们存在,而其他人则不请自己这样做.

哪一组程序员应该"永远不要创造这样的名字"?

Mar*_*ers 11

不鼓励你在API中使用这些名称,是的,因为如果Python核心开发人员为Python本身选择相同的名称,那么你将失败,你的API可能会中断.

因此,如果您不是Python核心开发人员或编写可能有一天成为Python标准库或核心语言定义的一部分的PEP,请尽量避免在API中使用dunder名称.