内容正文:
函数与模块
课标梳理
教材重点 课标要求 学业质量水平
函数与模块 了解函数和模块的功能及其应用,能感知模块化编程的思想 2-2
教材研析
1
模块化程序设计
1.模块化程序设计思想:将问题分解成若干个子问题,用相对独立的程序段来针对性的解决各个子问题,提高程序设计的效率。
2.优点:对于一些常用的程序代码,以模块化的形式进行保存,需要时可重复调用。
3.实现方式:函数、模块等。
2
函数
1.定义:组织好的,可重复使用的,用来实现单一或相关联功能的代码段。
2.作用:能提高应用的模块性和代码的重复利用率。
3.分类
(1)内建函数:Python提供了许多内建函数,能实现许多功能,比如print()。
函数 描述
print(x) 输出x的值
input([prompt]) 获取用户输入
int(object) 将字符串和数字转换成整型
float(object) 将字符串和数字转换成实型
abs(x) 返回x的绝对值
help() 提供交互式帮助
len(seq) 返回序列的长度
str(x) 将x转换成字符串
chr(x) 返回x对应的字符
ord(x) 返回x对应的ASCII值
round(x[,n]) 对x进行四舍五入(如果给定n,就将数x转换为小数点后有n位的数)
max(s,[,args...]) 返回序列的最大值(如果给定多个参数,则返回给定参数中的最大值)
min(s,[,args...]) 返回序列的最小值(如果给定多个参数,则返回给定参数中的最小值)
①chr():编码转换为对应的字符
·参数:x可以是10进制也可以是16进制形式的数字(0x开头的为十六进
制数)。
·范例
>>> chr(25991)
'文'
>>> chr(65)
'A'
>>> print(chr(48),chr(65),\
chr(97)) #十进制为参数
0 A a
>>> print(chr(0x30),chr(0x41),\chr(0x61)) #十六进制为参数
0 A a
②ord():获取字符的整数表示
·参数:x为字符(ASCII码或Unicode)。
·返回值:x对应的十进制整数。
·范例
>>> print(ord('0'),ord('A'),ord('a'))
48 65 97
>>> print(ord('你'))
20320
(2)自定义函数:实际程序设计中,可根据实际情况自己构造函数实现内建函数无法提供支持的功能,以实现常用代码的模块化。
4.自定义函数语法
def 函数名(参数集合):
<函数体>
return [函数值表达式]
(1)关键词def标识自定义函数的开始。
(2)自定义函数命名规则:同变量名命名规则。
(3)形参必须放在圆括号()内,多个形参之间用逗号分隔。
(4)return [函数值表达式] 结束函数,选择性地返回一个值给调用方[不带表达式的 return 相当于返回 None]。
(5)自定义函数调用:函数名(实参)。
(6)注意点:自定义函数代码要放在主程序调用函数的代码之前。
(7)范例:输入2数,输出较大数。
框中为自定义函数compare,最后1行代码中调用了该函数。
典例1 输出当前序列中所有素数的Python程序如下,请在划线处填上合适的代码。
#以下代码用于自定义一个判断参数x是否为素数的函数。
①________sspd(x):
if x>1:
cs=2
flag=False
Def
while cs <=x - 1:
if x % cs==0:
flag=True
break
cs=cs + 1
②____________
b=int(input('请输入一个正整数作为\序列起点:'))
e=int(input('请输入一个正整数作为\序列终点:'))
ans=''
for i in range(b,e+1,1):
if ③________________
ans=ans+''+str(i)
print(b,'~',e,'中的素数有:',ans)
return flag
sspd(i)==False:
解析 ①自定义函数以def起始。②根据自定义函数的语法判断此处应为return [函数值表达式];根据题意和代码分析可知,if语句判断前flag为False,满足if后条件 “x % cs==0”时,改变 flag的值为True并跳出循环。 flag的值为True判断结果非素数,值为False是素数。③有自定义函数,则主程序中一定有函数名调用的语句,且if后该条件满足,i连接到结果串,所以满足该条件一定为素数 调用函数sspd()对i判断的结果应为 False。
3