我想知道,是否推荐/Pythonic 在 Python 脚本中定义和使用自定义双下划线变量/函数?例如,SQLAlchemy 中使用的 __tablename__
或 __validateitem__()
(一种在应用 __setitem__()
之前验证项目的自定义函数)。
如果它确实定义了一些神奇的事情发生,或者确实以特殊的方式使用了特定的变量/函数(如上面的两个例子),我觉得使用它们是个好主意。
我对关于最佳编码实践和使用这种命名的潜在风险的争论很感兴趣。
最佳答案
来自 PEP8:
__double_leading_and_trailing_underscore__
: "magic" objects or attributes that live in user-controlled namespaces. E.g.__init__
,__import__
or__file__
. Never invent such names; only use them as documented.
因此,建议不要对您自己的变量使用双下划线语法。
关于python - 如何推荐在 Python 中使用自定义双下划线变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21587882/