本文适合阅读对象:已学完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


点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

热门产品

历史上的今天:03月29日

热门专题

大理科技管理学校|大理科技管理学校,大理科技,大理科技中等职业技术学校,大理科技管理中等职业技术学校,大理科技学校
大理科技管理学校
安徽开放大学|安徽开放大学报名,安徽开放大学报考,安徽开放大学,什么是安徽开放大学,安徽开放大学学历,安徽开放大学学费,安徽开放大学报名条件,安徽开放大学报名时间,安徽开放大学学历,安徽开放大学专业
安徽开放大学
云南综合高中|云南综合高中
云南综合高中
一年制中专|中专学历,中专是什么学历,中专是什么,中专有什么专业,中专升大专,一年制中专
一年制中专
金诺幼儿园(春城路金诺幼儿园)|昆明官渡区幼儿园,幼儿园报名,官渡区幼儿园,春城路幼儿园,幼儿园招生,学前班,昆明幼儿园,金诺幼儿园,环城南路幼儿园,石井路幼儿园
金诺幼儿园(春城路金诺幼儿园)
开放大学|开放大学报名,开放大学报考,开放大学,什么是开放大学,开放大学学历,开放大学学费,开放大学报名条件,开放大学报名时间,开放大学学历,开放大学专业
开放大学
外贸网站建设|外贸网站建设,英文网站制作,英文网站设计,美国主机空间,外贸建站平台,多语言网站制作
外贸网站建设
小程序开发|微信小程序,小程序开发,小程序,小程序制作,微信小程序开发,小程序公司,小程序开发公司,分销,三级分销系统,分销系统
小程序开发

微信小程序

微信扫一扫体验

立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部