python

超轻量级php框架startmvc

Python可变参数*args和**kwargs用法实例小结

更新时间:2020-05-31 05:24:01 作者:startmvc
本文实例讲述了Python可变参数*args和**kwargs用法。分享给大家供大家参考,具体如下:一句

本文实例讲述了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, name
if __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 可变参数 *args **kwargs