2.4 可以复用的代码 教案 2022—2023学年教科版(2019)高中信息技术必修1

资源下载
  1. 二一教育资源

2.4 可以复用的代码 教案 2022—2023学年教科版(2019)高中信息技术必修1

资源简介

2.4 可以复用的代码
一、学习目标
1.了解函数的作用
2.学会函数的定义和调用方法,并能够熟练使用函数解决问题
3.学会发布共享代码的常见方法,并能熟练使用模块解决问题
二、重难点突出
重点:函数的定义方法和构成部分,模块导入、函数调用
难点:函数与模块的概念与类型
三、主要内容
1.导入问题:为什么要考虑代码复用
2.形成概念
函数:类似于螺丝刀、锤子、锯子这些工具
模块:类似于工具箱,用来打包并存放工具
3.四种类型的模块
1)内置函数和模块:相当于可以随身携带的工具,如拿书的手,就是一种随身携带的工具,我们的身体各个部分可以完成一些基本的劳动,身体就是一种工具箱,手和身体可以理解为内置函数和模块,不需要额外的条件。
2)标准函数和模块:可以理解为一些不随身携带的工具,因为经常要用到,所以把它们放到了背包里,用之前需要取出来。这种取出来才能用的动作,在Python语言中,我们称之为import。
例如最强大脑里的import os、import time、import random
3)自定义函数和模块:自己制造一些简单的工具,如一把木锤,如一个书签,把这些工具放到自己做的文具袋里,就形成了自己的工具箱。除了第一次制作时麻烦一点,后面再用时不需要重复制作,只要import就行了。
4)第三方库(共享社区):商店有卖尺子、笔、书本,这些工具是现成的,可以公开售卖的,如果我们需要可以买来用,那么这些就是第三方代码。
按照使用的方便程度来说:
1)内置的,最方便,可以直接用
2)标准的,需要import之后才能用
3)自定义的,虽然麻烦一点,但可以满足一些个性化需求,编写、发布后,需要import之后才能用
4)第三方代码,需要先下载、安装后,需要import之后才能用
4.常见的内置函数和模块、标准函数和模块(适当补充,作为了解,根据各班情况选讲)
第四单元有相关模块的应用
5.如何来定义一个函数(参见教材p42)
基本格式、构成部分、必备部分、应用举例(求阶乘)
需要特别注意函数参数两点问题:
1)函数的参数可以是0个、1个、n个
2)在书中例子上标注出形参、实参
6.如何发布代码(了解基本步骤即可)
第一步,编好match_num函数(也可以编几个函数放一起),并将文件名命名为自己编的命字mymodule.py
第二步,根据书上的方法(p44代码),写好setup.py文件
7.如何调用自定义函数(熟练掌握导入import模块、函数调用)
第一步,先要把mymodule.py、setup.py拷到电脑上,运行setup.py,生成相关配置文件(详见p44图片)。
第二步,导入模块
import mymodule #在代码文件的最前面,需要先导入模块
第三步,调用函数
mymodule.match_num() #函数名前,要加上模块作为前缀
特别注意,第二步、第三步,是调用标准、自定义、第三方模块函数必须的步骤,内置函数则不需要
举例,我们用内置函数print,可以直接使用print();而想使用随机函数randint()时,因为他是标准模块的函数,需要先import random,然后使用函数时要加模块名作为前缀,random.randint(0,1)。
在书P46上画一下,randint(0,1)它的作用是产生[0,1]的随机数,闭区间。
四、练习巩固
1.导入模块应使用关键字________
2.print、input函数都属于________,因此(需要,不需要)import
3.调用sample()函数前需要先_______,调用时要在前面加上模块名_______,写成_____.sample(things,5)
调用sleep()函数前需要先_______,调用时要在前面加上模块名_______,写成_____.sleep(10)
4.自定义函数match_num()代码写好后保存为mymodule.py文件,那么这个函数所属的模块名就是_______,在调用match_num()函数时,要写成_____.match_num(6)的形式。
5..函数包括_____、_____、_____、_____四个部分,其中,_____、_____是必不可少的。定义函数时,用到两个关键字分别是_____、_____。
6.函数的参数可是_____、_____、_____个,定义函数时的参数称之为_____、调用函数时的参数称之为_____
7.在下列代码的作用是计算_____,定义部分是_____,调用部分是_____,如果计算20!,应该改哪个地方_____?
(

)
def factorial(n):
#求n!
(

)s=1
for i in range(2,n+1):
s=s*i
return s
(

) (

)#调用factorial函数
total=factorial(4)
print(total)
8.上面代码中,如果要计算20!,应该改哪个地方_____?改为total=factorial(_____),这段程序是先从_____开始运行,调用函数factorial时才运行_____
参考答案
1.导入模块应使用关键字_import__
2.print、input函数都属于_内置函数_,因此(需要,不需要)import
3.调用sample()函数前需要先_import random_,调用时要在前面加上模块名_random_,写成_random_.sample(things,5)
调用sleep()函数前需要先_import time_,调用时要在前面加上模块名_time_,写成time.sleep(10)
4.自定义函数match_num()代码写好后保存为mymodule.py文件,那么这个函数所属的模块名就是_mymodule_,在调用match_num()函数时,要写成mymodule.match_num(6)的形式。
5..函数包括函数名_、参数、_返回值_、_函数体_四个部分,其中,函数名_、_函数体_是必不可少的。定义函数时,用到两个关键字分别是_def_、_return_。
6.函数的参数可是0、1、n个,定义函数时的参数称之为形参或形式参数、调用函数时的参数称之为实参或实际参数。
7.在下列代码的作用是计算n!或n的阶乘,定义部分是①,调用部分是②。
8.如果计算20!,应该改哪个地方④?改为total=factorial(20),这段程序是先从①开始运行,调用函数factorial时才运行②

展开更多......

收起↑

资源预览