(共36张PPT)
浙教版信息技术
八年级
第12课
Python的函数
新知导入
前面我们学习了利用Python的结构设计程序,解决一些实际问题,那么当遇到很复杂的实际问题时,我们也可以利用Python函数来解决。这节课我们就一块来学习Python函数
新知讲解
用计算机解决问题,常将一个复杂的大问题分解成一系列简单的小问题。
当问题细化到足够简单时,问题解决者就可以为每个小问题编写程序,并通过函数进行封装。
当各个小问题都解决了,大问题也就迎刃而解。
新知讲解
函数是一段具有特定功能、可重复使用的语句块。
函数用函数名来表示,并通过函数名进行功能调用。
在Python中主要有两类函数:系统内建函数和用户自定义函数。
一、函数的概念
新知讲解
内建函数(又称为内置函数)
是指Python解释器内置的函数。
Python常用的内建函数如下表所示。
函数
格式和功能描述
input()
input([prompt]
)
。从标准输入读取字符串
print()
print(
objects,
sep='',
end=\n')
。可以一次输出多个对象
int()
int([x]
)
。将数字或字符串转换为整型
float()
float([x]
)
。将整数和字符串转换为浮点数
str()
str(object)
。返回对象的字符串格式
len()
len(object)
。返回int型整数,
表示对象的项目个数
新知讲解
例如,
内建函数len()
的应用:
>>>
st="Python"
>>>
len(st)
6
>>>
lst=["HUAWEI",
"OPPO",
"VIVO"]
>>>
len(st)
3
新知讲解
函数的四种类型
根据函数的参数和返回值,函数可以分为四种类型:
无参数,无返回值的函数
无参数,有返回值的函数
有参数,无返回值的函数
有参数,有返回值的函数
新知讲解
无参数,无返回值的函数
def
printMenu():
print('--------------------------')
print('
xx涮涮锅
点菜系统')
print('
1.
羊肉涮涮锅')
print('
2.
牛肉涮涮锅')
print('
3.
猪肉涮涮锅')
print('--------------------------')
printMenu()
新知讲解
无参数,有返回值的函数
#
获取温度
def
getTemperature():
#这里是获取温度的一些处理过程
#为了简单起见,先模拟返回一个数据
return
24
temperature
=
getTemperature()
print('当前的温度为:',temperature)
当前的温度为:24
新知讲解
有参数,无返回值的函数
def
test(num1,num2):
result=num1+num2
print('计算结果为:%d'%result)
新知讲解
有参数,有返回值的函数
def
calculateNum(num):
result
=
0
i
=
1
while
i<=num:
result
=
result
+
i
i+=1
return
result
result
=
calculateNum(100)
print('1~100的累积和为:',
result)
像数据处理并需要结果的应用,可以使用此类函数。
新知讲解
二、自定义函数
Python提供了许多内建函数,
如print()
等。
但用户也可以根据需要创建函数,由用户创建的函数就叫作自定义函数。
新知讲解
Python使用保留字def定义一个函数,
语法格式如下:
1.定义函数
def<函数名>([参数列表]
)
:
<函数体>
[return<返回值>]
新知讲解
自定义函数一般由函数名、参数和函数体组成。
函数名可以是任何有效的Python标识符;
参数(可以有零个、一个或多个)
称为形式参数,
简称为“形参”。
当需要返回值时,
使用return语句,
否则函数可以没有return语句,
这样的函数返回None值。
新知讲解
简单的规则:
函数代码块以
def
关键词开头,后接函数标识符名称和圆括号()。
任何传入参数和自变量必须放在圆括号中间。圆括号之间可以用于定义参数。
函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。
函数内容以冒号起始,并且缩进。
return
[表达式]
结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回
None。
新知讲解
2.调用函数
在Python程序中,
定义一个函数后,
相当于给定了函数的名称,
指定了参数和代码块结构。
新知讲解
当通过调用的方式来执行这个函数时,便是在使用这个函数。
参数列表中给出要传入函数内部的数据,这类参数称为实际参数,简称为“实参”。
函数的调用和执行,其语法格式如下:
<函数名>([参数列表])
新知讲解
程序调用一个函数需要执行以下四个步骤:
(3)执行函数体语句;
(1)调用程序在调用处暂停执行;
(2)在调用时将实参复制给函数的形参;
(4)函数调用结束给出返回值,程序回到调用前的暂停处继续执行。
新知讲解
例如,
定义函数print
info()
,
调用该函数后输出姓名和年龄,
如图所示。
#定义print
info函数
def
print
info(nane,
age)
:
print(“Name:“,
name)
print(“Age:“,
age)
#调用print
info函数
print
info(“miki",
50)
print
info(age=50,name=“miki")
函数的定义与调用
Name:miki
Age:50
Name:miki
Age:
50
>>>
运行结果
新知讲解
带有默认值的参数一定要位于参数列表的最后面。否则程序会报错。
新知讲解
首先,
定义函数print
info()
,
两个形参由逗号分隔,
函数体是两个输出语句,分别输出姓名和年龄;
第二次调用时按形参关键字传入两个实参。
然后,
调用该函数print
info()
第一次调用时按形参位置传入两个实参
新知讲解
三、函数应用的程序实例
假设某人买了一对小兔子,这对小兔子从第三个月开始,每个月都会生一对小兔子
斐波那契数列问题。
而所有的小兔子到了第三个月又会每月生一对小兔子。
问:第n个月会有多少对兔子?
新知讲解
斐波那契数列又称黄金分割数列,因数学家斐波那契以“兔子繁殖”为例而引入,故又称为“兔子数列”。
1.问题分析
根据题意,兔子数量与时间的关系如下表所示。
时间(单位:月)
1
2
3
4
5
6
7
……
兔子数量与时间的关系
1
1
2
3
5
8
13
……
新知讲解
除第一个和第二个数据特殊外,其他数据都可通过前两个数据生成
fib(1)
=1,
fib(2)
=
1
fib(3)
=fib(1)
+fib(2)
=
2
fib(n)
=fib(n-1)
+fib(n-2)
(n>2)
…
新知讲解
2.算法设计
通过以上分析,
输人数据为月数n,
初始数据为fib(1)
=1,
fib(2)
=1,
中间数据可通过公式fb(i)
=fib(i-1)
+fib(i-2)
计算得到,
输出数据为第n个月的兔子对数
fib(n)
值。
新知讲解
其算法用流程图表示,如图所示。
新知讲解
3.编写程序
根据上述算法,
为便于输出每个月的兔子对数,
首先定义函数fib()
,
然后输入月数n,
最后通过for语句循环调用函数fib()
并输出每个月的兔子对数。
新知讲解
#定义fib函数,
n为形参
def
fib(n)
:
a,b=1,1
for
i
in
range(3,
n+1)
:
a,b=b,a+b
return
b
#输入月数
n=int(input('请输入第n个月:')
)
#调用fib函数,
i值为实参
for
i
in
range(1,
n+1)
:
print(fib(i)
,
end='')
其程序代码如下:
新知讲解
按“F5”键,输入月数,运行结果如图所示。
4.调试运行
新知讲解
赋值语句“a,b=b,a+b”先进行赋值号右边算式的计算,再把计算结果依次赋给左边变量。这种写法可以实现变量交换,例如:a,b=b,a。
日积月累
#结果为
随堂练习
1.写函数,接受n个数字,求这些参数数字
的和。
课堂小结
总结本节课所学内容
板书设计
一、函数的概念
二、自定义函数
三、函数应用的程序实例
1.写一个函数,判断用户传入的列表长度是否大于2,如果大于2只保留前两个,并将新内容返回给调用者。
作业布置
谢谢
21世纪教育网(www.21cnjy.com)
中小学教育资源网站
有大把高质量资料?一线教师?一线教研员?
欢迎加入21世纪教育网教师合作团队!!月薪过万不是梦!!
详情请看:
https://www.21cnjy.com/help/help_extract.php中小学教育资源及组卷应用平台
浙教版信息技术八年级第12课Python的函数教学设计
课题
Python的函数
单元
第三单元
学科
信息技术
年级
八年级
学习目标
知识目标:理解函数的概念,掌握常用内建函数的格式和功能。技能目标:初步掌握函数的定义和调用方法。通过“斐波那契数列问题”的程序实例,能够编写简单使用自定义函数的应用程序。情感目标:培养学生的创造性思维能力、探索精神,让学生体验成功的喜悦;。
重点
初步掌握函数的定义和调用方法。
难点
能够编写简单使用自定义函数的应用程序。
教学过程
教学环节
教师活动
学生活动
设计意图
导入新课
前面我们学习了利用Python的结构设计程序,解决一些实际问题,那么当遇到很复杂的实际问题时,我们也可以利用Python函数来解决。这节课我们就一块来学习Python函数
思考并回答问题
激发学生学习兴趣并快速进入学习状态
讲授新课
用计算机解决问题,常将一个复杂的大问题分解成一系列简单的小问题。当问题细化到足够简单时,问题解决者就可以为每个小问题编写程序,并通过函数进行封装。当各个小问题都解决了,大问题也就迎刃而解。一、函数的概念函数是一段具有特定功能、可重复使用的语句块。函数用函数名来表示,并通过函数名进行功能调用。在Python中主要有两类函数:系统内建函数和用户自定义函数。内建函数(又称为内置函数)
是指Python解释器内置的函数。Python常用的内建函数如下表所示。例如,
内建函数len()
的应用:>>>
st="Python">>>
len(st)6>>>
lst=["HUAWEI",
"OPPO",
"VIVO"]>>>
len(st)3函数的四种类型根据函数的参数和返回值,函数可以分为四种类型:无参数,无返回值的函数无参数,有返回值的函数有参数,无返回值的函数有参数,有返回值的函数无参数,无返回值的函数def
printMenu():
print('--------------------------')
print('
xx涮涮锅
点菜系统')
print('
1.
羊肉涮涮锅')
print('
2.
牛肉涮涮锅')
print('
3.
猪肉涮涮锅')
print('--------------------------')
printMenu()无参数,有返回值的函数#
获取温度def
getTemperature():
#这里是获取温度的一些处理过程
#为了简单起见,先模拟返回一个数据
return
24temperature
=
getTemperature()print('当前的温度为:',temperature)当前的温度为:24有参数,无返回值的函数def
test(num1,num2):
result=num1+num2
print('计算结果为:%d'%result)有参数,有返回值的函数def
calculateNum(num):
result
=
0
i
=
1
while
i<=num:
result
=
result
+
i
i+=1
return
result
result
=
calculateNum(100)
print('1~100的累积和为:',
result)像数据处理并需要结果的应用,可以使用此类函数。
二、自定义函数Python提供了许多内建函数,
如print()
等。但用户也可以根据需要创建函数,由用户创建的函数就叫作自定义函数。1.定义函数Python使用保留字def定义一个函数,
语法格式如下:def<函数名>([参数列表]
)
:
<函数体>
[return<返回值>]自定义函数一般由函数名、参数和函数体组成。函数名可以是任何有效的Python标识符;参数(可以有零个、一个或多个)
称为形式参数,
简称为“形参”。当需要返回值时,
使用return语句,
否则函数可以没有return语句,
这样的函数返回None值。简单的规则:函数代码块以
def
关键词开头,后接函数标识符名称和圆括号()。任何传入参数和自变量必须放在圆括号中间。圆括号之间可以用于定义参数。函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。函数内容以冒号起始,并且缩进。return
[表达式]
结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回
None。2.调用函数在Python程序中,
定义一个函数后,
相当于给定了函数的名称,
指定了参数和代码块结构。
当通过调用的方式来执行这个函数时,便是在使用这个函数。函数的调用和执行,其语法格式如下:<函数名>([参数列表])参数列表中给出要传入函数内部的数据,这类参数称为实际参数,简称为“实参”。程序调用一个函数需要执行以下四个步骤:(1)调用程序在调用处暂停执行;(2)在调用时将实参复制给函数的形参;(3)执行函数体语句;(4)函数调用结束给出返回值,程序回到调用前的暂停处继续执行。例如,
定义函数print
info()
,
调用该函数后输出姓名和年龄,
如图所示。函数的定义与调用#定义print
info函数def
print
info(nane,
age)
:
print(“Name:“,
name)
print(“Age:“,
age)#调用print
info函数print
info(“miki",
50)print
info(age=50,name=“miki")运行结果Name:mikiAge:50Name:mikiAge:
50>>>带有默认值的参数一定要位于参数列表的最后面。否则程序会报错。
首先,
定义函数print
info()
,
两个形参由逗号分隔,
函数体是两个输出语句,分别输出姓名和年龄;然后,
调用该函数print
info()第一次调用时按形参位置传入两个实参第二次调用时按形参关键字传入两个实参。三、函数应用的程序实例斐波那契数列问题。假设某人买了一对小兔子,这对小兔子从第三个月开始,每个月都会生一对小兔子而所有的小兔子到了第三个月又会每月生一对小兔子。问:第n个月会有多少对兔子?1.问题分析斐波那契数列又称黄金分割数列,因数学家斐波那契以“兔子繁殖”为例而引入,故又称为“兔子数列”根据题意,兔子数量与时间的关系如下表所示。除第一个和第二个数据特殊外,其他数据都可通过前两个数据生成fib(1)
=1,
fib(2)
=
1fib(3)
=fib(1)
+fib(2)
=
2
…
fib(n)
=fib(n-1)
+fib(n-2)
(n>2)2.算法设计通过以上分析,
输人数据为月数n,
初始数据为fib(1)
=1,
fib(2)
=1,
中间数据可通过公式fb(i)
=fib(i-1)
+fib(i-2)
计算得到,
输出数据为第n个月的兔子对数fib(n)
值。其算法用流程图表示,如图所示。3.编写程序根据上述算法,
为便于输出每个月的兔子对数,
首先定义函数fib()
,
然后输入月数n,
最后通过for语句循环调用函数fib()
并输出每个月的兔子对数。其程序代码如下:#定义fib函数,
n为形参def
fib(n)
:
a,b=1,1
for
i
in
range(3,
n+1)
:
a,b=b,a+b
return
b#输入月数n=int(input('请输入第n个月:')
)#调用fib函数,
i值为实参for
i
in
range(1,
n+1)
:print(fib(i)
,
end='')4.调试运行按“F5”键,输入月数,运行结果如图所示。4.调试运行按“F5”键,输入月数,运行结果如图所示。日积月累赋值语句“a,b=b,a+b”先进行赋值号右边算式的计算,再把计算结果依次赋给左边变量。这种写法可以实现变量交换,例如:a,b=b,a。随堂练习1.写函数,接受n个数字,求这些参数数字
的和。defsum_func(
args)
:sm=0for
i
in
args:sm+mireturns
mprint(sum_func(1,
2,
3,
7,
4,
5,
6)
)#结果为(
)
通过教师的讲解,以小组合作的方式,开展探讨交流,完成任务。学生小组间讨论,共同完成任务。通过教师的讲解,以小组合作的方式,开展探讨交流,完成任务。通过教师的讲解,以小组合作的方式,开展探讨交流,完成任务。学生小组间讨论,共同完成任务。通过教师的讲解,以小组合作的方式,开展探讨交流,完成任务。学生小组间讨论,共同完成任务。通过教师的讲解,以小组合作的方式,开展探讨交流,完成任务。学生小组间讨论,共同完成任务。学生小组间讨论,共同完成任务。学生小组间讨论,共同完成任务,并分组汇报。
通过小组合作,加强学生组内团结、共同完成任务培锻炼学生的语言组织能力和表达的能力。加强学生组内团结、共同完成任务。加强学生组内团结、共同完成任务培锻炼学生的语言组织能力和表达的能力。加强学生组内团结、共同完成任务培锻炼学生的语言组织能力和表达的能力。加强学生组内团结、共同完成任务培锻炼学生的语言组织能力和表达的能力。培锻炼学生的语言组织能力和表达的能力。培养学生独立完成练习的能力。
课堂小结
分小组总结归纳,教师补充。
各组汇报总结,其他小组成员做补充。
锻炼学生的总结能力,逻辑思维、语言表达能力。
布置作业
1.写一个函数,判断用户传入的列表长度是否大于2,如果大于2只保留前两个,并将新内容返回给调用者。
板书
一、函数的概念二、自定义函数三、函数应用的程序实例
21世纪教育网
www.21cnjy.com
精品试卷·第
2
页
(共
2
页)
HYPERLINK
"http://www.21cnjy.com/"
21世纪教育网(www.21cnjy.com)