资源简介 2.4 可以复用的代码一、学习目标1.了解函数的作用2.学会函数的定义和调用方法,并能够熟练使用函数解决问题3.学会发布共享代码的常见方法,并能熟练使用模块解决问题二、重难点突出重点:函数的定义方法和构成部分,模块导入、函数调用难点:函数与模块的概念与类型三、主要内容1.导入问题:为什么要考虑代码复用 2.形成概念函数:类似于螺丝刀、锤子、锯子这些工具模块:类似于工具箱,用来打包并存放工具3.四种类型的模块1)内置函数和模块:相当于可以随身携带的工具,如拿书的手,就是一种随身携带的工具,我们的身体各个部分可以完成一些基本的劳动,身体就是一种工具箱,手和身体可以理解为内置函数和模块,不需要额外的条件。2)标准函数和模块:可以理解为一些不随身携带的工具,因为经常要用到,所以把它们放到了背包里,用之前需要取出来。这种取出来才能用的动作,在Python语言中,我们称之为import。例如最强大脑里的import os、import time、import random3)自定义函数和模块:自己制造一些简单的工具,如一把木锤,如一个书签,把这些工具放到自己做的文具袋里,就形成了自己的工具箱。除了第一次制作时麻烦一点,后面再用时不需要重复制作,只要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函数都属于________,因此(需要,不需要)import3.调用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=1for i in range(2,n+1):s=s*ireturn s(④) (②)#调用factorial函数total=factorial(4)print(total)8.上面代码中,如果要计算20!,应该改哪个地方_____?改为total=factorial(_____),这段程序是先从_____开始运行,调用函数factorial时才运行_____参考答案1.导入模块应使用关键字_import__2.print、input函数都属于_内置函数_,因此(需要,不需要)import3.调用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时才运行② 展开更多...... 收起↑ 资源预览