Python中的*args和**kwargs

*args表示的是arguments**kwargs表示的是keyword arguments,他们两个叫做python中的可变参数。

注意:argskwargs可以随便修改,重点在于***,所以上述说法也可表述为*表示的是arguments**表示的是keyword arguments

他们两个之间的区别及使用场景为:

1. *args

在当传入的参数个数未知,且不需要知道参数名称时使用。

代码为:

def test(one, *args):
	print("first element is %s" %one)
	print("in args:",type(args))
	for i in args:
		print("%s" %i)

输出为:

>>>test(1,2,3,4,5)
first element is 1
in args: <class 'tuple'>
2
3
4
5

2. **kwargs

当传入的参数个数未知,但需要知道参数的名称时使用。

代码为:

def test_kw(one, *args, **kwargs):
	print("first element is %s" %one)
	print("in kwargs:",type(kwargs))
	for k,v in kwargs.items():
		print("%s:%s" %(k,v))

输出为:

>>>test(1,2,3,k1=4,k2=5)
first element is 1
in args: <class 'dict'>
k1:4
k2:5

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
心中带点小风骚的头像心中带点小风骚普通用户
上一篇 2023年3月10日
下一篇 2023年3月10日

相关推荐