Python中__all__属性具体有什么用途?

2026-05-24 18:020阅读0评论SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1131个文字,预计阅读时间需要5分钟。

Python中__all__属性具体有什么用途?

1. Python 中模块级公开接口:通过 `__all__=[foo, bar]` 显式声明。

2.Python 没有原生的可见性控制,可见性维护依赖约定。

3.例如,双下划线开头变量被视为私有。

1、Python 可以在模块级别暴露接口:

__all__ = ["foo", "bar"]

:Python 没有原生的可见性控制,其可见性的维护是靠一套需要大家自觉遵守的”约定“,比如,双下划线开头的变量对外部不可见(私有变量)。

①__all__ 是针对模块公开接口的一种约定,比起双下划线的方式(私有变量或者私有函数),__all__以提供了”白名单“的形式暴露接口。

②一些不以下划线开头的变量(比如从其他地方import 到当前模块的成员)可以同样被排除出去。

③如果定义了__all__,其他文件中使用from xxx import *导入该文件(可以是模块或者包)时,只会导入 __all__ 列出的成员,可以其他成员都被排除在外。

阅读全文

本文共计1131个文字,预计阅读时间需要5分钟。

Python中__all__属性具体有什么用途?

1. Python 中模块级公开接口:通过 `__all__=[foo, bar]` 显式声明。

2.Python 没有原生的可见性控制,可见性维护依赖约定。

3.例如,双下划线开头变量被视为私有。

1、Python 可以在模块级别暴露接口:

__all__ = ["foo", "bar"]

:Python 没有原生的可见性控制,其可见性的维护是靠一套需要大家自觉遵守的”约定“,比如,双下划线开头的变量对外部不可见(私有变量)。

①__all__ 是针对模块公开接口的一种约定,比起双下划线的方式(私有变量或者私有函数),__all__以提供了”白名单“的形式暴露接口。

②一些不以下划线开头的变量(比如从其他地方import 到当前模块的成员)可以同样被排除出去。

③如果定义了__all__,其他文件中使用from xxx import *导入该文件(可以是模块或者包)时,只会导入 __all__ 列出的成员,可以其他成员都被排除在外。

阅读全文