更新时间:2021-06-16 来源:黑马程序员 浏览量:
Python模块的开头通常会定义一个__all__属性,该属性实际上是一个元组,该元组中包含的元素决定了在使用from…import 语句导入模块内容时通配符所包含的内容。 如果__all__中只包含模块的部分内容,那么from…import *语句只会将__all__中包含的部分内容导入程序。
假设当前有一个自定义模块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")
在calc模块中设置__all__属性为["add", "subtract"],此时其他Python文件导入calc模块后,只能使用calc模块中的add()与subtract()函数,示例代码如下:__all__ = ["add", "subtract"]
通过“from ...import *”方式导入calc模块,然后使用from calc import *
print(add(2, 3))
print(subtract(2, 3))
运行程序,结果如下所示。5
-1
下面尝试使用calc模块的multipty()和divide()函数,具体代码如下.print(multipty(2, 3))
print(divide(2, 3))
运行程序,出现如下所示的异常信息:NameError: name 'multiply' is not defined
【AI设计】北京143期毕业仅36天,全员拿下高薪offer!黑马AI设计连续6期100%高薪就业
2025-09-19【跨境电商运营】深圳跨境电商运营毕业22个工作日,就业率91%+,最高薪资达13500元
2025-09-19【AI运维】郑州运维1期就业班,毕业14个工作日,班级93%同学已拿到Offer, 一线均薪资 1W+
2025-09-19【AI鸿蒙开发】上海校区AI鸿蒙开发4期5期,距离毕业21天,就业率91%,平均薪资14046元
2025-09-19【AI大模型开发-Python】毕业33个工作日,就业率已达到94.55%,班均薪资20763元
2025-09-19【AI智能应用开发-Java】毕业5个工作日就业率98.18%,最高薪资 17.5k*13薪,全班平均薪资9244元
2025-09-19