Python进阶(三):*args,**kwargs的使用

Python进阶(三)

有时候在看代码时就会看到函数会传入 *args, **kwargs,这两个参数,有时候容易忘记他们是代表着什么,今天特别写一篇文说一说。


1.*args

这个主要表示一系列的参数前面(python进阶一的拆包)我们说过了元素名前面带 *并不是指代指针,而是表示指向一系列的参数。
比如:

*list = 'apple', 'banana'

因此我们可以对函数传入一系列的参数,并且只用一个参数名,这要做的好处就是在参数个数未定的情况下,极大的方便了我们
如下:

def test1(*args):
    for i, item in enumerate(args):
        print(i, item)

print("test:")
test1('apple', 'banana', 'cabage')

这里写图片描述

2.**kwargs

在python中这个主要用于传入一个字典类型的(key=parameter)一系列
比如:

def test2(**kwargs):
    for key, parameter in kwargs.items():
        print(key, parameter)

print("test:")
test2(one='_one', two='_two')

这里写图片描述

3.还有这些用法:

print("one more test:")
_list = ["building", "sun", "flower"]
_dict = {'name':"kyda", 'age':21, 'sex':"man"}
test1(*_list)
test2(**_dict)

print("\n")

def test3(a, b, c):
    print(a, b, c)
test3(*_list)

这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值