python之路 第六章 函数进阶——函数的多返回值、位置参数、关键字参数、缺省参数、不定长参数、函数作为参数传递、lambda匿名函数

本章节深入探讨Python函数的高级特性,包括如何实现多返回值,详细解析位置参数、关键字参数、缺省参数和不定长参数的使用方式,以及讲解函数作为参数传递的原理。此外,介绍了lambda匿名函数的定义和应用场景,强调其在简化代码和单行逻辑处理中的作用。
摘要由CSDN通过智能技术生成

目录

第六章 函数进阶

01 函数的多返回值

 02 函数的多重传参方式

1.位置参数

2.关键字参数

3.缺省参数

4. 不定长参数

03 匿名函数

函数作为参数传递

lambda匿名函数


第六章 函数进阶

01 函数的多返回值

        我们前面已经学习过了返回值的具体应用,那么如果当一个函数同时拥有两个return时,程序应该如何执行呢?

         那么答案是:程序只会执行第一个return。原因是程序执行到return语句时,会直接退出当前的函数,导致return下方代码不执行,这也是我们前面学习过的知识了。

         然而,生活是多样的。当我们一定需要同时返回两个值的时候,难道就没有解决办法了吗?答案是否定的,接下来就让我们学习当函数应用多个返回值时,应该如何解决。

         当一个函数拥有多个返回值时,我们需要用逗号隔开,并且需要用与返回值数量相等的变量接收,同时这个方法也支持不同类型的数据return。


 02 函数的多重传参方式

         根据在使用方式上的不同,函数有四种常见参数使用方式:

1.位置参数

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

表示为

#注意:传递的参数和定义的参数的顺序及个数必须一致。

2.关键字参数

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

作用:可以让函数更加清晰、容易使用,同时也清楚了参数的顺序需求。

 #注意:函数调用时,如果有位置参数,位置参数必须在关键字参数的前面,但关键字参数之间不存在先后顺序。

3.缺省参数

         也叫默认参数,用于定义函数,为参数提供默认值,调用函数时可不传该默认参数的值

#注意:所有位置参数必须出现在默认参数前,包括函数定义和调用。

作用:当调用函数时没有传递参数时,就会默认是使用缺省参数对应的值。

#注意:函数调用时,如果为缺省函数传值则会修改默认参数值,否则使用这个默认值。

4. 不定长参数

         也叫做可变参数,,用于不确定调用的时候会传递多少个参数(甚至不传参)的场景。

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

类型:1.位置传递(参数会作为元组的形式存在去接受不定长数量的参数传入)

 #注意:传递的所有参数都会被args变量收集,他会根据传进参数的位置合并为一个元组(Tuple)args是元组类型,这就是位置传递

             2. 关键字传递(参数会作为字典的形式存在去接受不定长数量的参数传入)

#注意:参数是“键 = 值”形式的形式的情况下,所有的“键 = 值”都会被kwarges接受,同时会根据“键 = 值”组成字典


03 匿名函数

函数作为参数传递

       在前面的学习中,我们一直使用的函数,都是接收数据作为参数传入。例如:数字、字符串、字典、列表、元组等。但其实,我们学习的函数本身,也可以作为参数传入另一个函数内。

       在传入数据的函数中,整个函数仅有数据不确定等待传入,而在函数作为参数进行传递时,函数的运算逻辑是整个被隐藏不显示的,仅有传入函数的数据进行显示,此时,就不是数据作为参数被传入函数,我们可以认为是函数的运行逻辑被传入。

       在上述代码中,传入text_func函数中的就不是数据了,而是add函数当作参数传入,亦或者说,add函数的运算逻辑传入。 

lambda匿名函数

函数的定义方式主要可以分为两种

1.def 关键字,可以去定义带有名称的函数,其函数可以基于函数名进行重复使用。

2.lambda 关键字,可以定义匿名函数(无名称),无名称,只可临时使用一次。

匿名函数定义基本语法:

lambda 传入参数 :函数体(一行代码

        其中,lambda是关键字,表示定义匿名函数;传入参数表示匿名函数的形式参数,如:x,y表示接收2个形式参数;函数体,就是函数的执行逻辑,要注意,匿名函数中只能写一行代码,无法写入带多行代码。

使用场景:当只需要一行代码并且函数没有重复使用需求时,首选lambda定义法。

#注意:使用def和lambda定义的函数功能完全一致,两者唯一的区别只是lambda关键字定义的函数是匿名的,无法二次使用;而def定义的函数拥有名字,可以后续重复使用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值