美文网首页
Python模块__all__变量

Python模块__all__变量

作者: 土豆特别想爬山 | 来源:发表于2020-05-06 19:11 被阅读0次

除此之外,还可以借助模块提供的 __all__ 变量,该变量的值是一个列表,存储的是当前模块中一些成员(变量、函数或者类)的名称。通过在模块文件中设置 __all__ 变量,当其它文件以“from 模块名 import *”的形式导入该模块时,该文件中只能使用 __all__ 列表中指定的成员。

也就是说,只有以“from 模块名 import *”形式导入的模块,当该模块设有 __all__ 变量时,只能导入该变量指定的成员,未指定的成员是无法导入的。

再次声明,__all__ 变量仅限于在其它文件中以“from 模块名 import *”的方式引入。也就是说,如果使用以下 2 种方式引入模块,则 __all__ 变量的设置是无效的。

1) 以“import 模块名”的形式导入模块。通过该方式导入模块后,总可以通过模块名前缀(如果为模块指定了别名,则可以使用模快的别名作为前缀)来调用模块内的所有成员(除了以下划线开头命名的成员)。

2) 以“from 模块名 import 成员”的形式直接导入指定成员。使用此方式导入的模块,__all__ 变量即便设置,也形同虚设。

引用:http://c.biancheng.net/view/2401.html

相关文章

  • Python模块__all__变量

    除此之外,还可以借助模块提供的 __all__ 变量,该变量的值是一个列表,存储的是当前模块中一些成员(变量、函数...

  • Python中的模块与包

    目标 了解模块 导入模块 制作模块 __all__ 包的使用方法 一. 模块 Python 模块(Module),...

  • Python __all__变量用法

    Python中一个py文件就是一个模块,“__all__”变量是一个特殊的变量,可以在py文件中,也可以在包的__...

  • 阅读bk_monitor

    Python标准模块--functools __all__的作用 https://www.cnblogs.com/...

  • [转载]python之__all__

    [转载]使用__all__暴露接口 在Python中我们可以使用__all__暴露出模块级别的接口: 这样在其他模...

  • python进阶-特殊变量和属性

    本文主要记录了python中一些特殊变量或者属性的说明,比如__all__等。 __all__ 先看代码,假设有两...

  • Python 学习笔记

    python 中 __all__变量: 它是一个string元素组成的list变量,定义了当你使用from imp...

  • Python 高级用法

    python 中 __all__变量: 它是一个string元素组成的list变量,定义了当你使用from im...

  • 38-包

    包(Package) __all__的作用 python模块中的all属性,可用于模块导入时限制,如:from m...

  • 2018-02-07

    python pickle模块:python变量及对象的序列化 1、pickle.dump 将python变量...

网友评论

      本文标题:Python模块__all__变量

      本文链接:https://www.haomeiwen.com/subject/vthgghtx.html