我读了PEP 8想知道(虚构的)我创建一个名称如 __foo__
的对象是否是个好主意。 PEP 8 关于 __double_leading_and_trailing_underscore__
是这样说的:
Never invent such names; only use them as documented.
我的问题是:谁?
我是一名程序员。我为其他程序员编写 API。 Python 是由程序员实现的。实现的语言引用是由程序员或至少是前程序员编写的,使用我的 API 的程序员将编写一些可能会或可能不会被其他程序员使用的东西。
现在展开了,当 PEP 8 说“永远不要发明这样的名字”时,他们指的是哪个程序员?
有人显然被鼓励发明这样的名字,因为它们存在,而其他人则不被邀请这样做。
哪一组程序员应该“永远不要发明这样的名字”?
最佳答案
您不鼓励在您的 API 中使用这样的名称,是的,因为如果当 Python 核心开发人员 为 Python 本身选择相同的名称时,您将会失败,您的 API 可能会崩溃。
因此,如果您不是 Python 核心开发人员或编写的 PEP 可能有一天会成为 Python 标准库或核心语言定义的一部分,请尽量避免在 API 中使用双拼名称。
关于python - "Never invent such names; only use them as documented."谁?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27965088/