本文适合阅读对象:已学完Python基础课程,并能熟练使用Python基本用法编程。如果还有一些其他语言的基础最好不过了,如果没有Python基础或者正在学习中,请点击以下链接:
Python基础教程
一、有趣的*args和**kwargs
尽管*args和**kwargs参数不受重视,但其实它们是Python中非常有用的特性。那么*args和**kwargs参数到底有什么用呢?它们能让函数接受可选参数,因此能在模块和类中灵活创建API,举个栗子。
Python示例代码如下:
def test(required, *args, **kwargs):
print(required)
if args:
print(args)
if kwargs:
print(kwargs)
如上所示,test函数的写法表明其至少需要一个参数,但也可接受额外位置参数和关键字参数。
args参数带有*前缀,它将收集位置参数组成元组;
kwargs参数带有**前缀,它将收集关键字参数组成字典;
大家可以实际调用测试下:
#这样调用上面的test函数,将报错...
test()
报错,提示缺少1个必要参数。
test('hello')
test('hello',1,2,3)
test('hello',1,2,3,key1='abc',key2='666')
这三种调用不会报错,输出结果分别如下,大家看懂了吗?
注意,最后有一点需要说明,参数args和kwargs
发表评论 取消回复