本文实例讲述了Python可变参数*args和**kwargs用法。分享给大家供大家参考,具体如下:
一句话简单概括:当函数的参数不确定的时候就需要用到*args
和**kwargs
,前者和后者的区别在于,后者引入了”可变”key的概念,而前者没有key的概念,具体看下面的使用样例和具体的解释即可:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
#!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程序设计有所帮助。
原文链接:https://blog.csdn.net/together_cz/article/details/76153091