内容正文:
问题1:上节课我们用下标访问和序列迭代访问方法计算了某市2013年8月的31个日平均气温的平均气温,谁能写出核心代码?
s=0
n=0
for i in range(len(t_Day)):
s=s+t_Day [i]
n=n+1
avg=s/n
print(avg)
s=0
n=0
for x in t_Day :
s=s+x
n=n+1
avg=s/n
print(avg)
代码重复、繁琐,修改时容易出错,效率低。
问题 2:如果现在要计算2月、3月……12月的平均气温,我们需要怎么做?
新课导入:回顾旧知
时间
地点
项目八 分析历史气温数据
--设计批量数据算法
自定义函数计算平均值
面对重复代码,我们引入“函数”进行封装,实现“一次编写,多次使用”的高效编程模式
通俗理解:函数就像“一个专门处理特定任务的固定工具”,比如:我们计算平均气温的“固定步骤”(遍历→求和→求平均),把这三步打包,起一个名字,就是“自定义函数”——我们自己定义这个工具的功能、输入和输出。
新课导入:引出主题
用户自定义函数:
由用户自己编写的、能够实现独立功能的语句块。
def 函数名(<参数>):
代码块
# 第一步:定义函数头部,明确名字和输入
#函数体,第二步: 编写具体任务(求和、平均)
return 返回值
#第三步:设置函数的输出(可选,无return则返回None)
新知讲授:自定义函数
关键字定义
def 是 define 的缩写,用于声明定义函数。必须小写,大写会报错。
语法规则
def 关键字后必须紧跟一个空格,再加函数名,行末尾必须加冒号 : 。
易错点警示
常犯错误:漏写冒号或空格。这两种情况都会导致SyntaxError 语法报错
核心记忆口诀:def小写是关键,空格冒号不能少,漏写一点就报错!
新知讲授:自定义函数--关键字def
核心原则:见名知意(看到名字即能理解函数功能)
命名规则
只能以字母或下划线开头,不能以数字开头
不能包含空格、特殊符号(如 @、#、$ 等)
案例对比
avg_temp (平均气温)
sum_temp (温度总和)
get_month_avg (获取月平均值)
1avg (以数字开头)
avg temp (包含空格)
avg@temp (包含特殊符号)
新知讲授:自定义函数--函数名
正确示范
错误示范
核心概念:函数的“输入”与“原材料”
参数是函数执行任务时所需的输入数据,用于接收外部传入的数据;放在括号里,可多个,用逗号分隔
案例
def add(a, b):
def say_hello(name):
新知讲授:自定义函数--参数
# name 是参数
# a, b 是参数
核心概念:函数体
函数的“核心操作”区域,即函数要完成的具体任务
语法规则:强制缩进
Python核心规则:函数体代码必须缩进4个空格,表示属于函数内部。
易错警示
不缩进、缩进不足或过多 → 程序报错,解释器将无法识别函数范围。
新知讲授:自定义函数--函数体
核心概念:return 是函数的“输出口”,用于返回处理后的最终结果,后面跟要返回的值。
案例:return 在循环内
案例:return 在循环后
关键提醒 & 易错点:
return 必须在循环结束后。若放在循环内,函数会提前终止并返回,导致数据未处理完,任务失败。
新知讲授:自定义函数--return返回值
循环一次就返回,未完成所有遍历
遍历完所有元素,再返回结果
构造一个函数的思路与分析数学应用题有些类似,要知道已知什么和求什么。将已知条件放在参数中,在调用时通过参数传递得到,而所的值可通过函数的返回值返回。
def 函数名(<参数>):
函数体
函数的定义中一般都包含return语句,return语句的作用是结束函数的执行,返回一个值作为函数的返回值。
新知讲授:函数的定义
通俗解释:函数的调用,本质上就是“使用我们预先定义好的工具”。
生活类比:找到工具的名字(函数名)→ 放入原材料(参数值)→ 得到成品(返回值)。
项目案例:调用 avg_temp 函数,传入 1 月份气温列表,计算并得到 1 月份的平均气温。
新知讲授:函数的调用
因为大部分函数是有返回值的,所以调用时常和赋值语句一起使用,由变量引用返回值。
变量名=函数名(<参数值列表>)
新知讲授:函数的调用
例题,计算7!+11!-10!
def fact(n):
p=1
if n<0:
return-1
for i in range(1, n+1):
p=p*i
return p
定义函数的代码
result=fact(7)+fact(11)-fact(10)
print(result)
36293040
调用函数的代码
课堂总结
核心知识点回顾
1. 函数的定义:
def 函数名(参数): + 缩进函数体 + return 返回值
2. 函数的调用:
变量名 = 函数名(参数值)
易错点警示
01漏写def后的冒号
02函数体未缩进
03return位置错误
04调用时函数名写错
05参数数量/类型不匹配
06先调用、后定义
1.下列函数定义中,语法正确的是( )
def my_func (): B. def my_func ()
print ("Hello") print ("Hello")
C. def my_func: D. function my_func ():
print ("Hello") print ("Hello")
A
课堂练习
2、关于函数的参数,下列说法错误的是( )A. 函数可以没有参数
B. 调用函数时,实参的个数必须与形参一致
C. 形参的名称必须与实参的名称完全相同
D. 参数可以传递列表、字典等复杂数据类型
C
课堂练习
3、关于自定义函数的return语句,下列说法正确的是( )A. 必须在函数体的最后一行
B. 一个函数中只能有一个return
C. return后可以跟表达式,直接返回计算结果
D. 没有return的函数执行后会报错
C
课堂练习
4、执行以下代码,输出的结果是?( )def add(a, b):
return a * 2 + b
result = add(3, 5)
print(result)
A. 8 B. 11 C. 13 D. 16
B
课堂练习
5、老师希望编写一个函数,用于计算班级学生某科目的平均分(成绩存储在列表中)。下列函数定义最合理的是?( )
A. def average(scores): return sum(scores) / len(scores)
B. def average(): scores = [80, 90, 85]; return sum(scores) /len(scores)
C. def average(): return sum(scores) / len(scores)
D. def average(scores): sum(scores)
A
课堂练习
6、编程题:编写一个自定义函数is_even(n),功能是判断一个整数n是否为偶数,若是则返回True,否则返回False,调用该函数,判断15和24是否为偶数,输出判断结果。
课堂练习
Promotion of information
谢谢观看
点击输入您的文字内容,点击输入您的文字内容,点击输入您的文字。点击输入您的文字。点击输入您的文字内容,
教师:小熊猫 班级:高一二班
时间
地点
$