传递任意数量的实参和传递任意数量的关键字实参

* *args:表示用来接收任意数量的实参,其中,形参*args的星号会让Python创建一个名为args的空元组
,并将接收到的任意数量的实参存储在这个元组中。
* **kwargs:表示用来接收任意数量的关键字实参,其中,形参**kwargs的星号会让Python创建一个名为kwargs的空字典
,并将接收到的任意数量的关键字实参存储在这个字典中。
 

传递任意数量的实参

Python中,可以向函数传递任意数量的实参,只要我们在形参前面加上一个星号(*)即可。

常写为:*args,args全称为arguments,有参数的意思。

例如:一个用来制作披萨的函数,事先并不知道顾客需要我们放多少配料,那么我写一个形参*toppings就可以了
def make_pizza(*toppings): """打印顾客点的所有配料""" print(toppings)

注意:形参名*toppings中的星号会让Python创建一个名为toppings的空元组,并将收到的所有值封装在这个元组中。

结合使用位置实参和任意数量实参

如果函数需要接受不同类型的实参,可以将接收任意数量实参的形参放在最后。

例如:客人定制披萨需要事先告知披萨尺寸
def make_pizza(size,*toppings): """概述要制作的披萨""" print(f"\nMaking a {size}-inch
pizza with the following toppings:") for topping in toppings:
print(f"-{topping}")

 

使用任意数量的关键字实参

连续两个星号加上形参表示接收任意数量的关键字实参。

常见写法:**kwargs,全称Keyword Arguments,表示关键字参数。

例如:创建一个接收用户信息的函数
def build_profile(first,last,**user_info): """创建一个字典,其中包含我们知道的有关用户的一切"""
user_info['first_name'] = first user_info['last_name'] = last return user_info

 

技术
今日推荐
下载桌面版
GitHub
百度网盘(提取码:draw)
Gitee
云服务器优惠
阿里云优惠券
腾讯云优惠券
华为云优惠券
站点信息
问题反馈
邮箱:[email protected]
QQ群:766591547
关注微信