提示信息

Python __all__变量

残缺 已关注

__all__变量是一个特殊的变量,用于声明模块中哪些对象应该在使用from module import *语句时被导入。

在Python中,from module import *语句被认为是一种不好的做法,因为它污染了命名空间,并使代码可读性差。然而,在某些情况下,导入全部对象可能是方便的,但又希望限制导入的对象范围。

使用__all__变量,您可以在模块中明确指定哪些对象应该被导入。例如,假设有一个名为module.py的模块:

  1. # module.py
  2. def func1():
  3. pass
  4. def func2():
  5. pass
  6. def func3():
  7. pass
  8. __all__ = ['func1', 'func2']

在这个例子中,只有func1func2将被导入。其他对象,如func3,不会导入。

注意,__all__是一个字符串列表,包含要导入的对象的名称。如果未在__all__中指定对象,则不会导入。

此外,如果__all__未定义,from module import *将导入所有公共名称(公共名称是没有前导下划线的名称)。

总之,__all__变量用于在模块中明确声明应该在from module import *语句中被导入的对象。通过使用__all__,您可以控制命名空间的清晰性和代码的可读性。

    遇到难题? "AI大模型GPT4.0、GPT" 是你的私人解答专家! 点击按钮去提问......
残缺 关注 已关注

最近一次登录:2023-10-09 16:15:03   

暂时还没有签名,请关注我或评论我的文章
×
免费图表工具,画流程图、架构图