第七章 Python 函数进阶

embedded/2024/9/22 19:46:59/

一、函数的多返回值

        在   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/embedded/35622.html

相关文章

如何优化npm的性能?

优化npm的性能可以从以下几个方面入手: 按需加载模块:npm CLI是一个JavaScript文件,可以通过性能分析来识别哪些模块是必需的,哪些可以按需加载。例如,某些错误处理模块可能只在出现错误时才需要加载。通过修改npm的脚…

前端之实现大文件上传的解决方案———断点续传

介绍 断点续传是一种网络数据传输方式,允许从中断的地方恢复下载或上传操作,而不是从头开始。这对于大文件传输尤其有用,因为它可以节省时间并减少网络资源的浪费。在前端开发中,实现大文件的断点续传可以提升用户体验&#xff0c…

微博视频怎么下载无水印

在当今社交媒体时代,微博已经成为人们获取信息、分享生活的重要平台之一。许多人在浏览微博时常常遇到一个问题:如何下载微博视频而不留下烦人的水印呢?今天,我将分享一些神秘的方法,让你轻松解锁微博视频的无水印下载技巧。 第…

置身事内 书摘

信息的重要性:所谓山高皇帝远,上级领导不可能掌握和处理所有信息,故常常不得不依赖下级提供的信息,内容是否可靠,上级不见得知道,因此可能被下级牵着鼻子走。但因为信息复杂,不易处理&#xff0…

延时任务通知服务的设计及实现(三)-- JDK的延迟队列DelayQueue

一、接着上文 上文我们讲述了使用redisson的RDelayedQueue实现分布式延迟队列,本文我们将自己JDK的延迟队列DelayQueue实现。 相比前者的实现,作为进程内的延迟队列,它会遇到许多技术难点: 如何支持分布式的多个节点部署场景应…

ROS目标跟随(路径规划、slam、定位、雷达)——接上文,改善跟随的位置

确保进行跟随的小车始终在身后 最终效果代码改进 最终效果 ROS目标跟随改进版 代码改进 这里给出上一篇博客的链接:https://blog.csdn.net/m0_71523511/article/details/135610191 使用上一篇的launch文件创建机器人时,ros会自动创建一个坐标系相对关系…

密码学《图解密码技术》 记录学习 第十三章

目录 第十三章 13.1 本章学习的内容 13.2 PGP 简介 13.2.1 什么是 PGP 13.2.2 关于 OpenPGP 13.2.3关于GNU Privacy Guard 13.2.4 PGP 的功能 公钥密码 数字签名 单向散列函数 证书 压缩 文本数据 大文件的拆分和拼合 13.3 生成密钥对 13.4 加密与解密 13.4.1 加密 生成…

Centos 7 安装 subversion 新版本

使用 Centos yum repo 安装的 svn 版本是 1.7 但是现在需要更新的版本, 因为出现错误了: svn: E155021: This client is too old to work with the working copy at使用官网下载的包进行安装 1. 下载 .tar.gz 包 wget https://dlcdn.apache.org/subversion/subversion-1.14…