(共22张PPT)
第2单元 编程计算
2.4可以复用的代码
必修1 数据与计算
目
录
1
知识梳理
2
知识拓展
3
巩固练习
在程序代码中有许多功能是相似或完全相同的,这时可以考虑用代码复用的方法提高程序的效率。这既可以减少重复编写代码的工作量,也可以使程序的结构更加清晰。
常见方法:“函数”和“模块”是代码复用的常见方法。
“函数”和“模块”来源:Python自带的内置函数和模块;自己编写一些函数或模块;到代码共享社区去下载。
1.函数
函数类型:系统函数和用户自定义函数。
(1)系统函数即函数库中的标准函数,是程序设计语言或操作系统提供给用户的一系列已经编制好的程序。如print()和input()函数都是系统函数。
常见的系统函数包括数学运算类函数、数据转换类函数、字符串操作类函数、输入输出函数、文件操作类函数等。
(2)用户自定义函数则是用户自己编写的一段程序。
函数一般包括函数名、参数、返回值和函数体等四部分内容,其中函数名和函数体是必不可少的,参数和返回值可根据需要进行定义。
自定义函数的基本格式:
def函数名(参数1,参数2……):
#函数说明
语句或语句组
return返回值
参数是用来向函数传递值的,当有多个参数时,各个参数之间用逗号分隔开。函数执行完成后,由return语句将表达式返回给调用者,结束函数。函数的调用格式:
变量=函数名(参数)
2.发布代码
通过模块发布代码可以让很多人共享你的程序。方法:
(1)做好发布前的准备工作。在D:\创建一个文件夹mymodule,其中包含mymodule.py和setup.py两个文件。mymodule.py是一个模块文件,其内容就是自定义的函数;setup.py文件包含有关发布的元数据。
(2)打开mymodule所在的目录,构建发布文件。
(3)将发布文件安装到你的Python本地副本或在互联网上发布你的代码。
3.导入模块并使用
已经构建发布的模块或系统自带模块,必须先导入程序才能使用。
导入模块的语句格式:import 模块名。
·Python中提供了大量标准模块,亦称标准库,如time模块和random模块。
(1)time模块可以获取计算机的时钟信息,包括日期和时间,也可以用于延时。
time.time():返回当前时间的时间戳,即1970纪元后经过的浮点秒数。
time.sleep(secs):参数secs是要暂停执行的秒数,如: time.sleep(2)表示延时2秒。
time.asctime([t]):格式化显示时间。
(2)random模块可以生成随机数。
random.random():用于生成一个0到1的随机浮点数:0<=n<1.0。
random.randint(a,b):用于生成一个指定范围内的随机整数,生成的随机数n的取值范围为:a<=n<=b。
random.randrange([start,]stop[,step]):从指定范围内,按指定基数递增step的集合中获取一个随机数,如:random.randrange(1,10,2)即在生成的列表中[1,3,5,7,9]中获取一个随机数。
1.Python语言中用来定义函数的关键字是( B )。
A.import B.def C.function D.return
2.以下对于函数的定义选项中,错误的是( A )。
A. def vfunc(*a,b): B. def vfunc(a,b):
C. def vfunc(a,*b): D. def vfunc(a,b=2):
B
A
3.关于函数的参数,以下选项中描述错误的是( A )。
A.可选参数可以定义在非可选参数的前面
B.一个元组可以传递给带有星号的可变参数
C.在定义函数时,可以设计可变数量参数,通过在参数前增加星号(*)实现
D.在定义函数时,如果有些参数存在默认值,可以在定义函数时直接为这些参数指定默认值
A
4.以下Python程序段,运行后输出的值是( A )。
def factorial(n):
s=1
for i in range(2,n+1):
s=s*i
return s
total=factorial(4)
print(total)
A.24 B.4 C.44 D.16
A
5.运行下列程序后,函数f(4)的值为( D )。
def f(n):
if n==1:
return 1
else:
return n+f(n-1)
A.1 B.3 C.6 D.10
D
6.下列代码的输出结果是( C )。
def fun(a,b) :
t=a
a=b
b=t
print(a,b)
# pow(x,y)返回x**y的值
fun(pow(3,2),pow(2,3))
A.3 2 B.2 3 C.8 9 D.9 8
C
7.关于python发布代码及安装使用代码,下列说法中错误的是( C )。
A.创建一个文件夹mymodule,其中包含mymodule.py和setup.py(包含发布的元数据)两个文件
B.在DOS命令行中打开mymodule所在的目录,使用“python setup.py sdist”命令构建发布文件
C.已经构建发布的模块必须先导入程序,然后才能使用。导入时只能使用语句“import mymodule”,不可以用“from mymodule import *”
D.下载安装,使用“python setup.py install”命令安装到你的Python本地副本中
C
8.以下关于模块说法中,错误的是( C )。
A.一个xx.py就是一个模块
B.任何一个普通的xx.py文件都可以作为模块导入
C.模块文件的扩展名不一定是.py
D.运行时会从指定的目录搜索导入的模块,如果没有,会报错异常
9.Python中很多模块必须导入后才能使用,下列选项中哪个可以导入模块?( A )
A. import mymodule B. imput mymodule
C. def mymodule D. print mymodule
C
A
10.想要在Python程序运行时产生一个随机数,需要导入的模块是( B )。
A.data B.random C. pygame D.turtle
B