建议如何在Python中使用自定义双下划线变量?

前端之家收集整理的这篇文章主要介绍了建议如何在Python中使用自定义双下划线变量?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我想知道,是否推荐/ 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相关文章