22 - return、函数传参方式、缺省参数、多值参数、组包解包、匿名函数

目录

一、return关键字的两个作用

1、终止函数

2、 将函数定义内部的任意数据,返回给函数调用处。

3、说明:函数内部什么时候使用print

二、函数传参的方式

1、函数传参的定义

2、位置传参

3、关键字传参

4、混合使用

5、举例说明-函数传参的三种方式

三、缺省参数(默认参数)

1、定义

2、使用场景

3、注意

4、语法格式

5、举例说明-函数定义多个缺省参数

四、多值参数(可变参数/不定长参数)

1、使用场景

2、语法格式

3、注意

4、参数顺序由:

5、举例说明-多值参数

五、组包拆包

1、组包(pack)

2、解包( unpack)

六、举例说明-不同数据类型解包

1、列表解包

2、元组解包

3、字符串解包

4、字典解包

5、参数不够的情况

七、对调用函数时,对数据解包的两种方式

1、*变量名

2、**变量名

八、匿名函数

1、定义

2、语法

3、说明

九、举例说明-匿名函数的应用

1、创建一个匿名函数

2、求两个数中最大的值

3、按照年龄对列表中的数据进行排序

十、sort()排序函数

1、语法

2、说明


一、return关键字的两个作用

1、终止函数

  • 调用函数时,程序遇到函数内的第一个return语句,就会退出函数块,不会再运行第二个return。
(1)
(2)

2、 将函数定义内部的任意数据,返回给函数调用处。

  • 函数中如果想要返回多个数据值给函数调用处,一般是 组成元组(组包) 进行返回。

3、说明:函数内部什么时候使用print

  • 如果函数只需要打印语句,不需要传递值的时候,可以使用print语句代替return语句。

二、函数传参的方式

1、函数传参的定义

  • 如何将实参的值传递给形参。
实参:调用函数时传入的值。
形参:定义函数时定义的参数。

2、位置传参

  • 在函数调用时,按照形参的顺序,将实参的值,传递给形参。

3、关键字传参

  • 在函数调用时,指定将实参的值传递给哪个形参。

4、混合使用

  • 位置参数,必须卸载关键字参数前边;关键字参数必须放在位置参数的后边。
  • 同一个形参,只能接收一个实参值,不能同时使用位置传参和关键字传参,传值给同一个形参。

5、举例说明-函数传参的三种方式

三、缺省参数(默认参数)

1、定义

  • 定义函数时,给某个参数指定一个默认值,具有默认值的参数。

2、使用场景

  • 调用函数时,如果没有传入缺省函数的值,则使用默认值。
  • 将常见的值设置为参数的缺省值,从而简化函数的调用。

3、注意

  • 必须保证 缺省参数 在参数列表末尾。
  • 在调用函数时,如果有多个缺省参数,需要指定参数名,这样解释器才能够知道参数的对应关系。

4、语法格式

5、举例说明-函数定义多个缺省参数

四、多值参数(可变参数/不定长参数)

1、使用场景

  • 在定义函数的时候,不确定在调用函数时,实参有多少个,此时可以使用,多值参数。

2、语法格式

  • 在普通的参数前面,加上一个*,这个参数就变为多值参数。

3、注意

  • 一般用*args接收元组类型数据。**kwargs接收字典类型参数。
  • args、kwargs为习惯命名,可以自定义。
  • 多值参数,要放在缺省参数的后面。

4、参数顺序由:

   
  • 如果要定义缺省参数,一定放在参数列表的最后面,以保证在实参传数给形参时的正确性。

5、举例说明-多值参数

  • 需求
(1)定义一个函数sum_numbers,可以接受 任意多个整数;
(2)功能要求:将传递的 所有数字累加,并且返回累加结果。

五、组包拆包

1、组包(pack)

  • python中自动操作,当等号右边有多个数据的时候,会自动将多个数据值包装成为元组,同时赋给一个变量,这个过程就是组包。

2、解包( unpack)

  • 定义
python中自动解包, 把一个容器中拆开后, 将从容器中拆出来的数据 逐一赋值给变量。
(1)需保证变量数量=元素数量。
(2)在Python中任何可迭代对象都支持解包。
         可迭代对象包括列表、元组、字典、集合、字符串、生成器等,实现了__next__方法的一切对象。
  • 作用
将传递给函数的一个列表,元组,字典,拆分成独立的多个元素,然后赋值给函数中的形参变量。

六、举例说明-不同数据类型解包

1、列表解包

2、元组解包

3、字符串解包

4、字典解包

  • 注意:字典这样解包后,只会把字典的key取出来,value 则丢掉了。

5、参数不够的情况

七、对调用函数时,对数据解包的两种方式

1、*变量名

  • 调用函数时,通过*,将数据解包后,传给函数的形参。
  • 说明:想要把列表(元组)中的数据作为 位置参数 按顺序传递给形参, 只需要在列表(元组)前边加上一个 * ,进行拆包即可。
  • 注意:字典这样解包后,只会把字典的key取出来,value 则丢掉了。

2、**变量名

  • 调用函数时,通过**,将数据解包后,传给函数的形参。
  • **符号作用的对象是字典对象,它会自动解包成关键字参数 key=value 的格式,传递给参数。

八、匿名函数

1、定义

  • 使用lambda关键字,定义的表达式,称为匿名函数。

2、语法

3、说明

  • 将匿名函数 在内存中存储的地址 保存到变量中,所以 变量名就指代匿名函数。
  • 表达式:不能包含循环、return、可以包含if...else...
  • 参数: 参数可有可无,如果有多个参数,使用逗号隔开 。
  • 匿名函数能接收,任意数量的参数,但只能返回一个表达式的值。
  • 用lambda关键字创建的简化型函数,不同于使用def声明的函数,匿名函数没有函数名称。
  • 匿名函数只能实现简单的功能,因为只能写一行代码。
  • 匿名函数,一般不直接调用,作为函数的参数使用的。

九、举例说明-匿名函数的应用

1、创建一个匿名函数

2、求两个数中最大的值

3、按照年龄对列表中的数据进行排序

十、sort()排序函数

1、语法

2、说明

  • Iterable: 可迭代对象。
  • key: 排序规则(排序函数)。
在sorted内部会将可迭代对象中的每一个元素,传递给这个函数的参数. 根据函数运算的结果进行排序。
  • reverse: 是否是倒叙. True: 倒叙, False: 正序。
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值