Python 可变参数 + 关键字参数

Python 可变参数 + 关键字参数

这里用到之前的装包与拆包https://blog.csdn.net/qq_44994799/article/details/109681204

1、定义

1.1、可变参数
看到一个*,默认准备一个tuple,将散列的值1,2,3赋值给*args ,即装包,组装成一个元组。
在这可变参数里插入图片描述
1.2、关键字参数
看到两个**,默认准备一个dict,允许传入0个或任意个含参数名的参数,在函数内部自动组装成一个字典。作用:扩展函数的作用。保证有name和password 这两个参数,但如果愿意提供更多的参数,也能接收。比如,做一个用户注册的功能,除了用户名和密码必填,其他都是可选项,利用关键字参数来定义函数就能满足注册的需求。

在这里插入图片描述
1.3、命名关键字参数:限制关键字参数的名字,必须传入参数名,否则报错。
在这里插入图片描述

2、先拆包再装包

调用func(**dict1)时,**代表拆包
而在定义函数时,**kwargs代表装包,组装成一个字典

在这里插入图片描述

在这里插入图片描述
3、参数定义的顺序
必选参数-----> 默认参数------> 可变参数------> 命名关键字参数------> 关键字参数

在这里插入图片描述
在这里插入图片描述

综合例子:

重要:f1(*args,**kw) # 这里的 * 和 ** 都是拆包,拆成散的。到了函数中赋值的时候,*和 ** 代表装包,组装成一个元组和一个字典。
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_44994799/article/details/109739400