模块的定义
- 在 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前缀
例如:
# 导入 math 模块
import math
# math 模块的 fabs()函数————返回绝对值
print(math.fabs(-2))
输出结果:
2
有些时候我们只需要用到模块中的某个函数,这时不需要导入整个模块,只需要导入该函数即可。语句格式如下:
from 模块名 import 函数名1,函数名2....
通过这种方式导入函数的时候,调用函数时就只能给出函数名,而不能给出模块名。这种导入函数的方式会有一种缺陷,就是
当两个模块中含有相同名称函数的时候,后面一次导入的函数会覆盖前一次导入的函数
。
例如,假如模块A中有函数function(),模块B中也有函数function()。如果先导入模块A中的function(),后导入模块B中的function(),那么当我们在后面调用function()函数的时候,程序会去执行模块B中的function()函数。
如果想一次性引入模块math中所有的函数
,可以通过如下方式导入:
from math import *
自己定义模块
- 每个 Python 文件都可以看作一个模块,模块的名字就是 Python 文件的名字。所以我们完全可以自己写一个 Python文件,作为自己定义的模块。
- 例如,我们编写了my_module.py文件,里面定义了plus()函数:
# my_module.py
def plus(a,b):
return a+b
之后我们就可以在其他 Python文件中先引入my_module
然后通过my_module.plus(a,b)来调用my_module.py文件中的plus()函数。
我们也可以直接通过from my_module import plus来导入plus()函数。
小结
- 使用模块可以大大提高代码的可维护性,而且也增加了代码的利用率。当一个模块编写完毕之后,在其他 Python文件中导入该模块,模块中的函数就可以被其他 Python 文件使用了。
编程要求
- 实现相应的功能。具体要求如下:
- 输入直角三角形的两个直角边的边长a和b,要求计算出其斜边边长
- 要求使用math模块,并输出计算结果,结果保留小数点后三位小数。
测试说明
测试输入:
3
4
预期输出:
5.000
测试输入:
1.5
3.9
预期输出:
4.179
测试输入:
9
12
预期输出:
15.000
测试输入:
3.71
4.26
预期输出:
5.649
上代码: