时间:2021-05-22
本文实例讲述了Python可变参数*args和**kwargs用法。分享给大家供大家参考,具体如下:
一句话简单概括:当函数的参数不确定的时候就需要用到*args和**kwargs,前者和后者的区别在于,后者引入了”可变”key的概念,而前者没有key的概念,具体看下面的使用样例和具体的解释即可:
#!usr/bin/env python#encoding:utf-8'''''__Author__:沂水寒城功能:*args 和 **kwargs'''def test_func1(*args): ''''' *args 当函数的参数数量不确定的时候可以使用*args,个人理解*args相当于一个大小可变地列表 容器,有点类似于C语言中的指针,传给引用即可找到内容,在这里可以使用*+变量的形式 来实现内容可变列表的输出 ''' for index, one_char in enumerate(args): print 'index={0}, one_char={1}'.format(index, one_char)def test_func2(**kwargs): ''''' **kwargs 这个和上面的功能性质是一样的,只是*args没有key的概念,**kwargs加入了可变key的操作 这个参数允许你使用未定义的参数名而不会出现KeyError ''' for id_num, name in kwargs.items(): print '{0}:{1}'.format(id_num,name)def print_dict(one_dict): ''''' 直接输出字典内容 ''' for id_num, name in one_dict.items(): print id_num, nameif __name__ == '__main__': print "测试结果:" str_list=['沂','水','寒','城','We','Are','Friends'] str_dict={'id_num':20123456, 'name':'yishuihancheng'} test_func1(*str_list) test_func2(**str_dict) print '-----------------------------------------------------------' print_dict(str_dict)结果如下:
测试结果:
index=0, one_char=沂
index=1, one_char=水
index=2, one_char=寒
index=3, one_char=城
index=4, one_char=We
index=5, one_char=Are
index=6, one_char=Friends
id_num:20123456
name:yishuihancheng
-----------------------------------------------------------
id_num 20123456
name yishuihancheng
运行结果截图:
更多关于Python相关内容感兴趣的读者可查看本站专题:《Python面向对象程序设计入门与进阶教程》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python编码操作技巧总结》及《Python入门与进阶经典教程》
希望本文所述对大家Python程序设计有所帮助。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
这是Python函数可变参数args及kwargs*args表示任何多个无名参数,它是一个tuple**kwargs表示关键字参数,它是一个dict测试代码如下
*args和**kwargs是常用的两个参数*args:用于接受多余的未命名的参数,元组类型。**kwargs:用于接受形参的命名参数,字典类型的数据。可变参数
单星号形式(*args)用来传递非命名键可变参数列表。双星号形式(**kwargs)用来传递键值可变参数列表。下面的例子,传递了一个固定位置参数和两个变长参数。
1.图例legend基础语法及用法legend语法参数如下:matplotlib.pyplot.legend(*args,**kwargs)KeywordDes
Python函数可变参数定义及其参数传递方式详解python中函数不定参数的定义形式如下1、func(*args)传入的参数为以元组形式存在args中,如:de