第七章 Python 函数进阶

news/2024/10/11 13:20:44/

一、函数的多返回值

        在   def return_num():

                     return 1

                     return 2

        这种情况下只能返回1,运行到    return 1后就不在继续运行了;

1.1 语法:

           def return_num():

                     return 1 ,2

        x, y = return_num()

        print(x)

        print(y)

        按照返回值的顺序,写对应的多个变量接收即可,变量之间用逗号隔开,支持不同类型的数据return。      

1.2 案例 

85a1323a3b0f48728725b51d613b525a.png

二、函数的多种参数使用

2.1 位置参数

调用函数的时候,根据函数定义参数的位置来传递参数

aab8f0ec90334f54824fb3c42c94cbb7.png

2.2 关键字参数

函数调用时通过"键=值"形式传递参数

更加清晰、易使用、消除了参数的顺序请求

dce5ad16bfba42ddb98d5f2324d5dd0b.png

2.3 不定长参数

也称可变参数,用于不确定调用时会传递多少个参数(不传参也可以的场景)

作用:当调用函数时不确定参数的个数时,可以使用不定长参数

分两类:位置传递与关键字传递

        位置传递:传进的参数都会被args变量收集,他会根据传进参数的位置合并位一个元组(tuple),args是元组类型,这就是位置传递。

        关键字传递:参数是“键=值”形式的情况下,所有的“键=值”都会被kwargs接收,同时会根据“键=值”组成字典。

f07b9bdc38e546d0a00d0ea1f0cb5c3f.png

2.4 缺省参数

#默认参数,默认的必须写道最后

e4e8723bd2b740a8ae139fc954b80204.png

三、函数作为参数传递

        学习函数的本身,也可以作为参数传入另一个函数内。通常,函数都是接收数据作为参数传入。例如:数字、字符串、字典、列表、元组等。      
071b58705f3a417895912c8453b2cb47.png

注意函数作为参数和函数接收数据传输的区别:
        函数作为参数传输,是一种计算逻辑的传递(代码的执行逻辑),而非数据的传递(函数数据的传入)。函数接收数据,计算逻辑是确定的,数据不确定,  函数作为参数传输,传输的数据是确定的,计算的逻辑不确定。

四、lambda匿名函数

 


http://www.ppmy.cn/news/1455554.html

相关文章

【linuxC语言】守护进程

文章目录 前言一、守护进程的介绍二、开启守护进程总结 前言 在Linux系统中,守护进程是在后台运行的进程,通常以服务的形式提供某种功能,如网络服务、系统监控等。守护进程的特点是在启动时脱离终端并且在后台运行,它们通常不与用…

Vue笔记 4

内置指令 1.v-text_指令 我们学过的指令: ​ v-bind : 单向绑定解析表达式, 可简写为 :xxx ​ v-model : 双向数据绑定 ​ v-for : 遍历数组/对象/字符串 ​ v-on : 绑定事件监听, 可简写为 ​ v-if : 条件渲染(动态控制节点是否存存在&#xff0…

【C++】学习笔记——string_3

文章目录 六、string类5. string类的操作6. string类的转换7. string类的模拟实现 未完待续 搭配文档食用 六、string类 5. string类的操作 上面的函数中,有些是不常用的,咱们只挑几个重要的进行讲解。 c_str 就是将字符串转换成 C语言 字符串的格式。…

红米1s 刷入魔趣 (Mokee)ROM(Android 7.1)

目录 背景准备工具硬件(自己准备)软件(我会在文末提供链接) 刷机步骤1. 重启电脑2. 安装驱动3. 刷入TWRP4. 清空数据5. 刷入魔趣6. 开机 结尾下载链接 本文由Jzwalliser原创,发布在CSDN平台上,遵循CC 4.0 B…

esp32-cam 1. 出厂固件编译与测试

0. 环境 - ubuntu18 - esp32-cam - usb转ttl ch340 硬件连接 esp32-camch340板子U0RTXDU0TRXDGNDGND5V5V 1. 安装依赖 sudo apt-get install vim sudo apt install git sudo apt-get install git wget flex bison gperf python python-pip python-setuptools python-serial p…

Flink时间语义 | 大数据技术

⭐简单说两句⭐ ✨ 正在努力的小叮当~ 💖 超级爱分享,分享各种有趣干货! 👩‍💻 提供:模拟面试 | 简历诊断 | 独家简历模板 🌈 感谢关注,关注了你就是我的超级粉丝啦! &a…

基于TL431和CSA的恒压与负压输出

Hello uu们,51去那里玩了呀?该收心回来上班了,嘿嘿! 为什么会有这个命题,因为我的手头只有这些东西如何去实现呢?让我们一起来看电路图吧.电路图如下图1所示 图1:CSA恒压输出电路 图1中,R1给U2提供偏置,Q1给R1提供电流,当U1-VOUT输出大于2.5V时候,U2内部的三极管CE导通,使得…

秋招后端开发面试题 - MySQL事务

目录 MySQL事务前言面试题什么是数据库事务为什么要有事务呢?项目中遇到的事务事务的传播机制事务的特性?事务并发存在的问题四大隔离级别四大隔离级别,都会存在哪些并发问题呢数据库是如何保证事务的隔离性的呢?如何解决加锁后的…