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整理,仅供个人学习并记录,欢迎讨论,敬请批评指正!

相关推荐
2401_824222691 小时前
如何卸载并重装Oracle Grid_Deinstall脚本与ASM磁盘清理
jvm·数据库·python
学掌门1 小时前
数据分析师初级—中级—高级,每个阶段都需要学习什么?
大数据·学习·数据分析·数据分析师
qq_414256571 小时前
生产库如何利用Navicat实现配置特定触发器事件调度_提高管理效率
jvm·数据库·python
rainbow7242441 小时前
零基础职场人线上学习AI,是否支持线上考试?
人工智能·学习
2301_775639891 小时前
mysql如何查看服务器支持的存储引擎_使用SHOW ENGINES命令
jvm·数据库·python
love530love1 小时前
Python 3.12 解决 MediaPipe “no attribute ‘solutions‘” 终极方案:基于全版本硬核实测的避坑指南
开发语言·人工智能·windows·python·comfyui·mediapipe·solutions
爱码小白1 小时前
Python 类五大方法 完整版学习笔记
开发语言·python
a7963lin1 小时前
html标签怎样表示搜索框_input type=search语义优化【操作】
jvm·数据库·python
XiYang-DING1 小时前
【Java EE】定时器
java·python·java-ee