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名称.