python学习Day8-9天:函数(def)的基础运用

小伙伴们,我又回来了,接着学习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整理,仅供个人学习并记录,欢迎讨论,敬请批评指正!

相关推荐
diving deep11 小时前
脚本速览-python
开发语言·python
2601_9516437712 小时前
Python第一,Java跌出前三,C语言杀回来了
java·c语言·python·编程语言排行·技术趋势
千寻girling15 小时前
记录第一次学习 Docker
学习·docker·容器
AC赳赳老秦15 小时前
OpenClaw+Power Apps 实战:自动生成 Power Apps 应用、连接 Excel 数据源
大数据·开发语言·python·serverless·excel·deepseek·openclaw
Kobebryant-Manba15 小时前
学习RNN(简洁实现)
人工智能·rnn·学习
知南x16 小时前
【DPDK例程学习】(4) l2fwd
学习·word
努力努力再努力FFF16 小时前
大学四年AI能力规划:从入门学习到简历表达
人工智能·学习
Litluecat16 小时前
配合多角色提示语3,学习AI漫剧(刚开始学)
人工智能·学习·ai·提示词·短剧·漫剧
茉莉玫瑰花茶16 小时前
综合案例 - AI 智能租房助手 [ 5 ]
服务器·数据库·人工智能·python·ai
三品吉他手会点灯16 小时前
STM32F103 学习笔记-24-I2C-读写EEPROM(第1节)-I2C物理层介绍
笔记·stm32·学习