小伙伴们,我又回来了,接着学习python啦。
主题:"函数def的理解与使用、参数与返回值",我觉得还有点难

一、今日学习目标
-
理解"函数"是什么
-
会用 def 定义函数
-
能把之前写的代码"封装起来"
二、什么是def定义函数
简答来说:def 是 define(定义)的缩写,用来"定义一个函数"
可以将这个函数的功能理解为:def = 给一段代码起一个名字,并把它封装起来
三、为什么需要函数?
在之前我们计算了(平均值:数据中符合大于10的数值的平均数):
但是如果你有很多组数据:
data1 = [...]
data2 = [...]
data3 = [...]
❌ 你需要重复写3遍代码
👉 解决方法:把这段代码封装成一个函数
四、函数的基本结构(必须掌握)
在python中,def函数的使用一般是以下格式:
def 函数名(参数):
代码
**记住它的意思就是:**先"定义一个功能",再"使用这个功能"
五、最简单函数示例
def hello():#创建一个“功能”;这个“hello”这是你给这个功能的名字;“()”表示一个函数,目前为空;“:”下面要开始写这个功能具体做什么
print("你好,Python")#这是 "hello "这个功能里面要做的事情,使我们自己定义的
hello()#调用函数(使用这个功能),“去执行刚才定义的 hello 功能”
👉 总结含义:
def:定义函数
hello():调用函数
六、带参数的函数(重点)
示例
def print_data(data):
for i in data:
print(i)
print_data([1, 2, 3])
👉 理解:
data:输入的数据
函数会处理这组数据
七、把之前的代码改成函数
标准写法:计算满足条件的数值的平均数
def calculate_avg(data): # 定义一个函数;calculate_avg是函数名(表示计算平均值);data是输入的数据;():表示参数;:表示下面开始写这个函数具体做什么
total = 0 # 初始化总和total,从0开始用于后面累加
count = 0 # 初始化计数count,用来记录“有多少个符合条件的数据”
for i in data: # 遍历data中的每一个数据,i表示当前取出来的值
if i > 10: # 判断当前数据是否大于10(筛选条件)
total += i # 如果满足条件,就把这个数加到total中(累加)
count += 1 # 同时记录数量+1(表示又找到一个符合条件的数据)
if count > 0: # 判断是否存在符合条件的数据(防止除以0)
avg = total / count # 计算平均值(总和 ÷ 个数)
print("平均值是:", avg) # 输出计算结果
else:
print("没有符合条件的数据") # 如果没有符合条件的数据,给出提示
data = [3, 15, 7, 22, 10] # 定义一组数据data
calculate_avg(data) # 调用函数,把data传进去执行(让函数开始工作)
八、函数的核心理解(非常重要)
你要记住:
函数 = 输入 → 处理 → 输出

九、return(进阶一点)
现在升级一下函数:
改进版本
def calculate_avg(data): # 定义一个函数;calculate_avg是函数名(表示“计算平均值”);data是输入的数据
total = 0 # 初始化总和total,从0开始,用来累加符合条件的数据
count = 0 # 初始化计数count,用来记录“有多少个符合条件的数据”
for i in data: # 遍历data中的每一个数据,i表示当前取出来的值
if i > 10: # 判断当前数据是否大于10(筛选条件)
total += i # 如果满足条件,就把这个数加到total中(累加)
count += 1 # 同时记录数量+1(表示找到一个符合条件的数据)
if count > 0: # 判断是否存在符合条件的数据(防止除以0)
avg = total / count # 计算平均值(总和 ÷ 个数)
return avg # 返回结果(把平均值“交出去”,而不是直接打印)
else:
return None # 如果没有符合条件的数据,返回None(表示“没有结果”)
result = calculate_avg([3, 15, 7, 22, 10])
调用函数,把数据传进去执行;函数会把结果返回给result
print(result)
输出result中的值(也就是函数返回的平均值)
十、print 和 return 的区别

十一、今天必须完成的练习
✔ 练习1(基础)
def show_data(data):
# 输出所有数据
✔ 练习2(核心)
def get_max(data):
# 返回最大值
✔ 练习3(强化)
def get_sum(data):
# 返回总和
✔ 练习4(进阶)
def get_avg(data):
# 返回平均值
今天任务结束
注:上述内容借助网络资料与ai整理,仅供个人学习并记录,欢迎讨论,敬请批评指正!