gpt4 book ai didi

python - 设置 __all__ 然后使用前导下划线是否有意义?

转载 作者:太空狗 更新时间:2023-10-30 01:51:01 26 4
gpt4 key购买 nike

我一直在阅读 cpython HTTP 包的源代码以获得乐趣和利润,并注意到在 server.py 中它们设置了 __all__ 变量,但也为函数使用了前导下划线_quote_html(html)

这不是多余的吗?两者不是都用于限制 from HTTP import * 导入的内容吗?

为什么他们都做?

最佳答案

除了带有 _leading_underscores“private-by-convention” 函数外,还有:

  • 相当多的导入名称;
  • 四个类名;
  • 三个函数名不带前导下划线;
  • 两个字符串“常量”;和
  • 一个局部变量(nobody)。

如果 __all__ 没有定义为只覆盖类,所有这些也将通过通配符 from server import * 添加到您的命名空间。

是的,您可以只使用一种或另一种方法,但我认为领先的下划线比从 __all__ 中排除更有效;后者说“你可能不会经常需要这个”,前者说“除非你知道自己在做什么,否则不要进来”。他们都有自己的位置。

关于python - 设置 __all__ 然后使用前导下划线是否有意义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28572764/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com