函数传入任意个参数&拆包

1、可变参数

1.1、 * args表示创建一个名为args的空元组,该元组可接受任意多个传入的非关键字实参

def cal(*args):
	print(type(args))
	print(args)
cal(1,2,3,4)

输出:	
<class 'tuple'>
(1, 2, 3, 4)	

1.2、 ** kwargs 表示创建一个名为 kwargs 的空字典,该字典可以接收任意多个以关键字参数赋值的实际参数

def cal2(**kwargs):
	print(type(kwargs))
	print(kwargs)
cal2(name="小明",age=18,sex="女")

输出:
<class 'dict'>
{'name': '小明', 'age': 18, 'sex': '女'}

2、拆包

拆包主要用于元组和字典类型参数的传递,在调用带有多值参数的函数时,使用拆包简化参数的传递

# 将一个元组类型变量传给形参时,函数调用时直接在元组变量实参前加 * 号
# 将一个字典类型变量传给形参时,函数调用时直接在字典变量实参前加 ** 号
def demo(*args,**kwargs):
	print(args)
	print(kwargs)
tup = ("python",1,2)
dic = {"语文":80,"数学":99,"地理":98}
# 调用时实参前必须加星号
demo(*tup,**dic)

输出:
('python', 1, 2)
{'语文': 80, '数学': 99, '地理': 98}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值