第1关:模块的定义
200
- 任务要求
- 参考答案
- 评论60
任务描述
在 Python 程序的开发过程中,为了代码维护的方便,我们可以把函数进行分组,分别放到不同的.py
文件里。这样,每个文件包含的代码就相对较少,这个.py
文件就称之为一个模块(Module
)。本关的目标是让学习者了解并掌握 Python 模块定义的相关知识。
相关知识
模块能够让我们有逻辑地组织 Python 代码段,模块中能够定义函数、类和变量,模块里也可以包含可执行的代码。
模块的引入
Python 中要用关键字import
来引入某个模块。比如要引用模块math
,就要在文件的开头用import math
来引入。在调用math
模块中的函数时,引用格式为:
模块名.函数名
因为这种调用方式可以避免特殊情况的发生。比如在多个模块中可能含有相同名称的函数,这时如果只是通过函数名来调用,程序无法知道是要调用哪个函数。所以如果用上述方法引入模块的时候,调用函数必须加上模块名。例如:
import math
print(fabs(-2))
输出结果:
NameError: name 'fabs' is not defined
fabs()
必须加上math
前缀,例如:
import math
print(math.fabs(-2))
输出结果:
2
有些时候我们只需要用到模块中的某个函数,这时不需要导入整个模块,只需要导入该函数即可。语句格式如下:
from 模块名 import 函数名1,函数名2....
通过这种方式导入函数的时候,调用函数时就只能给出函数名,而不能给出模块名。这种导入函数的方式会有一种缺陷,就是当两个模块中含有相同名称函数的时候,后面一次导入的函数会覆盖前一次导入的函数。
例如,假如模块A
中有函数function()
,模块B
中也有函数function()
。如果先导入模块A
中的