实训平台操作4-4Python⼊门之模块-第1关:模块的定义
**
实训平台操作4-4 Python⼊门之模块-第1关:模块的定义
**
任务描述
在 Python 程序的开发过程中,为了代码维护的⽅便,我们可以把函数进⾏分组,分别放到不同的 .py ⽂件⾥,这样,每个⽂件包含的代码就相对较少,这个 .py ⽂件就称之为⼀个模块( Module )。
本关的⽬标是让读者了解并掌握 Python 模块定义的相关知识。
相关知识
模块能够让我们有逻辑地组织 Python 代码段,模块中能够定义函数,类和变量,模块⾥也可以包含可执⾏的代码。
模块的引⼊
Python 中要⽤关键字 import 来引⼊某个模块,⽐如要引⽤模块 math ,就要在⽂件的开头⽤ import math 来引⼊。在调⽤ math 模块中的函数时,引⽤格式为:
模块名.函数名
因为这种调⽤⽅式可以避免特殊情况的发⽣:⽐如在多个模块中可能含有相同名称的函数,这时如果只是通过函数名来调⽤,程序⽆法知道是要调⽤哪个函数。所以如果⽤上述⽅法引⼊模块的时候,调⽤函数必须加上模块名。
例如:
1.import math
2.
3.print(fabs(-2))
输出结果:
NameError: name ‘fabs’ is not defined
fabs() 必须加上 math 前缀,例如:
1.import math
2.
3.print(math.fabs(-2))
输出结果:
2
有些时候我们只需要⽤到模块中的某个函数,这时不需要导⼊整个模块,只需要导⼊该函数即可,语句格式如下:
from 模块名 import 函数名1,函数名2…
通过这种⽅式导⼊函数的时候,调⽤函数时就只能给出函数名,⽽不能给出模块名了。这种⽅式导⼊函数的⽅法会有这种缺陷:当两个模块中含有相同名称函数的时候,后⾯⼀次导⼊的函数会覆盖前⼀次导⼊的函数。例如,假如模块 A 中有函数 function() ,模块 B 中也有函数function() ,如果先导⼊模
块 A 中的 function() 、后导⼊模块 B 中的 function() ,那么当我们在后⾯调⽤ function() 函数的时候,程序是去执⾏模块 B 中的 function() 函数。
python新手函数如果想⼀次性引⼊模块 math 中所有的函数,可以通过如下⽅式导⼊:
from math import *
⾃⼰定义模块
每个 Python ⽂件都可以看作⼀个模块,模块的名字就是 Python ⽂件的名字。所以我们完全可以⾃⼰写⼀个 Python ⽂件,就作为⾃⼰定义的模块。例如我们编写了 my_module.py ⽂件,⾥⾯定义了 plus() 函数:
1.# my_module.py
2.
3.def plus(a,b):
4. return a+b
之后我们就可以在其他 Python ⽂件中先 import my_module ,然后通过 my_module.plus(a,b) 来调⽤ my_module.py ⽂件中的plus() 函数。我们也可以直接通过 from my_module import plus 来导⼊ plus() 函数。
⼩结:使⽤模块可以⼤⼤提⾼代码的可维护性,⽽且也增加了代码的利⽤率。当⼀个模块编写完毕之后,在其他 Python ⽂件中导⼊该模块,模块中的函数就可以被其他 Python ⽂件使⽤了。
编程要求
本关的编程任务是补全 src/step1/module.py ⽂件的代码,实现相应的功能。具体要求如下:
·输⼊直⾓三⾓形的两个直⾓边的边长 a 和 b ,要求计算出其斜边边长;
·要求使⽤ math 模块,并输出计算结果,结果保留⼩数点后三位⼩数。
本关涉及的代码⽂件 src/step1/module.py 的代码框架如下:
#coding=utf-8
import math
# 输⼊正整数a和b
a =float(input())
b =float(input())
# 请在此添加代码,输⼊直⾓三⾓形的两个直⾓边的边长a和b,计算出其斜边边长
#********** Begin *********#
def hypotenuse(a,b):
return(math.sqrt(a**2+b**2))
print("%.3f"% hypotenuse(a,b))
#********** End **********#

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。