Python中__all__属性的作用与使用方法
时间:2026-08-16 | 作者:怪兽小助手 | 阅读:0Python 模块中的 __all__ 属性
在 Python 模块里,开头常会定义一个__all__属性。
它本质上是一个元组,里面列出的元素,直接决定了使用 from…import 语句进行通配符导入时,究竟哪些内容会被带进来。
也就是说,如果__all__里只写了模块中的部分内容,那么执行 from…import * 时,最终导入到程序里的,也只会是__all__中明确包含的那一部分。
示例模块:calc.py
假设当前有一个自定义模块calc.py。
该模块中包含计算两个数的四则运算函数,具体代码如下:
def add(a, b):
return a + b
def subtract(a, b):
return a - b
def multiply(a, b):
return a * b
def divide(a, b):
if (b):
return a / b
else:
print("error")
设置 __all__ 的效果
在calc模块中设置__all__属性为["add", "subtract"]。
此时其他Python文件导入calc模块后,只能使用calc模块中的add()与subtract()函数。
示例代码如下:
__all__ = ["add", "subtract"]
使用 from ...import * 导入
通过“from ...import *”方式导入calc模块。
然后使用该模块中的add()函数与subtract()函数,具体如下。
from calc import *
print(add(2, 3))
print(subtract(2, 3))
运行程序,结果如下所示。
5
-1
未包含在 __all__ 中的函数
下面尝试使用calc模块的multipty()和divide()函数,具体代码如下。
print(multipty(2, 3))
print(divide(2, 3))
运行程序,出现如下所示的异常信息:
NameError: name 'multiply' is not defined
结论
__all__用于控制“from ...import *”时可以导入哪些内容。- 如果某个函数没有写入
__all__,那么执行通配符导入后,就不能直接使用该函数。 - 在本例中,只有add()和subtract()被导入。
免责声明:文中图文均来自网络,如有侵权请联系删除,心愿游戏发布此文仅为传递信息,不代表心愿游戏认同其观点或证实其描述。
相关文章
更多-
- 迅捷路由器怎么调信号最强,设置时要注意什么?
- 时间:2026-08-27
-
- vivo浏览器怎么卸不掉?原因和解决方法在这里
- 时间:2026-08-27
-
- OPPO R11s黑屏了,怎么强制恢复出厂设置?
- 时间:2026-08-27
-
- 飞利浦显示器包装盒有生产日期和保修期吗?怎么看?
- 时间:2026-08-27
-
- 联想新平板开机必须联网吗?怎么做?
- 时间:2026-08-27
-
- 平板横竖屏切换设置与问题解决
- 时间:2026-08-27
-
- 移动电源容量怎么测?要准备哪些工具?
- 时间:2026-08-27
-
- 荣耀90 Pro防水吗?防水级别多少?怎么用才安全
- 时间:2026-08-27
精选合集
更多大家都在玩
大家都在看
更多-
- 以下哪种食材被称为“地下苹果” 蚂蚁庄园今日答案9.18
- 时间:2026-09-17
-
- 蚂蚁庄园今天答题答案2026年9月18日
- 时间:2026-09-17
-
- 蚂蚁庄园答题今日答案2026年9月18日
- 时间:2026-09-17
-
- 蚂蚁庄园小课堂2026年9月18日最新题目答案
- 时间:2026-09-17
-
- 小鸡答题今天的答案是什么2026年9月18日
- 时间:2026-09-17
-
- 蚂蚁庄园每日答题答案2026年9月18日
- 时间:2026-09-17
-
- 蔬菜洗完掉色,说明是被染色了,是真的吗 蚂蚁庄园今日答案9月18日
- 时间:2026-09-17
-
- 满襟蜡绘花纹巧染就花纹当绣裳说的是哪种传统技艺 蚂蚁新村今日答案2026.9.17
- 时间:2026-09-17
