Python中函数及其参数, 位置和关键字参数解包

讲解了Python函数中的位置参数、关键字参数,以及如何通过*args和**kwargs处理额外参数。提供示例展示了不同函数调用方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Python中的函数, 参数包括位置参数和关键字参数两种.
注意:
1.函数定义时, 可接受参数列表之外的位置或关键字参数. *args需写在**kwargs之前.
2. 函数调用时, 关键字参数必须跟在位置参数后面. 若有在列表/元组里面的位置参数, 需使用*操作符进行解包; 若有在字典里的关键字参数, 需使用**操作符进行解包.

示例代码如下:

def f(p1, *args, k1=2, **kwargs):
    """
    :param p1: 位置参数
    :param k1: 关键字参数
    :param args:参数列表外的其他位置参数
    :param kwargs: 参数列表外的其余关键字参数
    """
    print(p1, k1)
    print(type(args), args, args[1])
    print(type(kwargs), kwargs, kwargs['kw2'])


if __name__ == '__main__':
	# 写法1
    f(1, 2, 3, k1=4, kw1='a', kw2='b', kw3='c')
    
    # 写法2(解包)
    myargs = (2, 3)
    mykwargs = {'kw1': 'a', 'kw2': 'b', 'kw3': 'c'}
    f(1, *myargs, k1=4, **mykwargs)

输出:

1 4
<class 'tuple'> (2, 3) 3
<class 'dict'> {'kw1': 'a', 'kw2': 'b', 'kw3': 'c'} b
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值