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

相关推荐
梅雅达编程笔记7 分钟前
编程启蒙|Scratch 转 Python 系列第9天:字典/哈希表积木双向对照(AI大模型参数配置表实战)
开发语言·人工智能·python·numpy·pandas
zhz52141 小时前
GIS项目中空间参考转换与MBTiles偏移:问题成因、解法与避坑
python·vue·gis
天选之子1231 小时前
DuckDB学习
jvm·学习
一只小菜鸡..2 小时前
Stanford CS144 学习笔记 (四):网络拥塞控制与 AIMD 算法
网络·笔记·学习
KaMeidebaby2 小时前
卡梅德生物技术快报|如何制备单克隆抗体:小众禽类靶点单抗制备实操流程:双载体抗原交叉筛选完整工艺记录
人工智能·python·深度学习·算法·机器学习
乱写代码2 小时前
Pydantic学习--BaseModel
python
xuhaoyu_cpp_java2 小时前
SpringBoot学习(四)
java·经验分享·spring boot·笔记·学习
fu15935745682 小时前
【边缘计算实战】P1:从零搭建边云任务卸载仿真实验台(Python 可复现)
数据库·python·边缘计算
蜡台3 小时前
通过Gradle脚本声明更改Java变量
android·java·开发语言·python·kotlin·gradle·groovy
智能体与具身智能4 小时前
TVA 本质内涵与核心特征(系列)
人工智能·python·智能体视觉