#博学谷IT学习技术支持#
目录
一、前言
二、返回值- 函数返回多个数据值
三、函数参数
3.1函数传参的方式
3.2缺省参数
3.3多值参数[可变参数/不定长参数]
3.3.1不定长位置参数(不定长元组参数)
3.3.2不定长关键字参数(不定长字典参数)
3.3.3完整的参数顺序(一般写法)
四、匿名函数
五、结尾
一、前言
HELLO各位,又见面了,上次咱们一起学习了函数基础知识,这次咱们将进行进阶更加深入的学习函数
上次的皮毛不知道大家掌握了吗?没有掌握的,及时观看上一篇文章进行温习,温故而知新。
OK,接下来给大家分享今天的函数进阶内容。
二、返回值- 函数返回多个数据值
函数中想要返回一个数据值, 使用 return 关键字
将多个数据值组成 容器 进行返回, 一般是元组(组包)
函数中想要返回一个数据值, 使用 return 关键字
将多个数据值组成 容器 进行返回, 一般是元组(组包)
多个数据值返回有两种写法
def calc(a, b):
num = a + b
num1 = a - b
return num, num1
# 写法一
result = calc(10, 5)
print(result, result[0], result[1])
# 写法二, 直接拆包
x, y = calc(20, 10)
print(x, y)
三、函数参数
3.1函数传参的方式
位置传参
在函数调用的时候, 按照形参的顺序, 将实参值传递给形参
关键字传参
在函数调用的时候, 指定数据值给到那个形参
混合使用
1. 关键字传参必须写在位置传参的后面
2. 不要给一个形参传递多个数据
位置传参
在函数调用的时候, 按照形参的顺序, 将实参值传递给形参
关键字传参
在函数调用的时候, 指定数据值给到那个形参
混合使用
1. 关键字传参必须写在位置传参的后面
2. 不要给一个形参传递多个数据
示例:
def func(a, b, c):
print(f'a: {a}, b: {b}, c: {c}')
# 位置传参
func(1, 2, 3)
# 关键字传参
func(a=2, b=3, c=1)
# 混合使用
func(1, 3, c=5)
3.2缺省参数
定义方式
在函数定义的时候, 给形参一个默认的数据值, 这个形参就变为缺省参数
注意:缺省参数的书写要放在普通参数的后边
特点
1.缺省参数, 在函数调用的时候, 可以传递实参值, 也可以不传递实参值
2.如果传参,使用的就是传递的实参值, 如果不传参,使用的就是默认值
3.3多值参数[可变参数/不定长参数]
定义方式
在函数定义的时候, 给形参一个默认的数据值, 这个形参就变为缺省参数
注意:缺省参数的书写要放在普通参数的后边
特点
1.缺省参数, 在函数调用的时候, 可以传递实参值, 也可以不传递实参值
2.如果传参,使用的就是传递的实参值, 如果不传参,使用的就是默认值
使用场景:在书写函数的时候, 不确定参数的具体个数时, 可以使用 不定长参数
3.3.1不定长位置参数(不定长元组参数)1. 书写: 在普通参数的前边,加上一个 *, 这个参数就变为不定长位置参数
2. 特点: 这个形参可以接收任意多个 位置传参的数据
3. 数据类型: 形参的类型是 元组
4. 注意: 不定长位置参数 要写在普通的参数的后面
5. 一般写法: 不定长位置参数的名字为 args, 即(*args) # arguments
3.3.2不定长关键字参数(不定长字典参数)
1. 书写: 在普通参数的前边,加上 两个 *, 这个参数就变为不定长关键字参数
2. 特点: 这个形参可以接收任意多个 关键字传参的数据
3. 数据类型: 形参的类型是 字典
4. 注意: 不定长关键字参数,要写在所有参数的最后边
5. 一般写法: 不定长关键字参数的名字为 kwargs, 即(**kwargs), keyword arguments
3.3.3完整的参数顺序(一般写法)
def 函数名(普通函数, *args, 缺省参数, **kwargs):
pass
四、匿名函数
匿名函数: 就是使用 lambda 关键字定义的函数
一般称为使用def 关键字定义的函数为, 标准函数
匿名函数只能书写一行代码
匿名函数的返回值不需要 return, 一行代码(表达式) 的结果就是返回值
1. 书写: 在普通参数的前边,加上 两个 *, 这个参数就变为不定长关键字参数
2. 特点: 这个形参可以接收任意多个 关键字传参的数据
3. 数据类型: 形参的类型是 字典
4. 注意: 不定长关键字参数,要写在所有参数的最后边
5. 一般写法: 不定长关键字参数的名字为 kwargs, 即(**kwargs), keyword arguments
def 函数名(普通函数, *args, 缺省参数, **kwargs):
pass
四、匿名函数
匿名函数: 就是使用 lambda 关键字定义的函数
一般称为使用def 关键字定义的函数为, 标准函数
匿名函数只能书写一行代码
匿名函数的返回值不需要 return, 一行代码(表达式) 的结果就是返回值
匿名函数: 就是使用 lambda 关键字定义的函数
一般称为使用def 关键字定义的函数为, 标准函数
匿名函数只能书写一行代码
匿名函数的返回值不需要 return, 一行代码(表达式) 的结果就是返回值
使用场景-列表中的字典排序
user_list = [
{"name": "zhangsan", "age": 18}, {"name": "lisi", "age": 19}, {"name": "wangwu", "age": 17}
]
# 根据年龄排序
# user_list.sort(key=lambda x: x['age']) 正序
user_list.sort(key=lambda x: x['age'], reverse=True) # 逆序
print(user_list)
五、结尾
以上就是函数进阶的一些知识了,小伙伴们根据需求提取吧,下周咱们继续一起学习,一起分享吧,期待你们的留言~~~



