博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【Python】Python中*args 和**kwargs的用法
阅读量:5146 次
发布时间:2019-06-13

本文共 1271 字,大约阅读时间需要 4 分钟。

好久没有学习了,应为工作的需要,再次拾起,唤起记忆。

当函数的参数不确定时,可以使用*args 和**kwargs,*args 没有key值,**kwargs有key值。

还是直接来代码吧,废话少说

1 def fun_var_args(farg, *args):  2     print "arg:", farg  3     for value in args:  4         print "another arg:", value  5   6 fun_var_args(1, "two", 3) # *args可以当作可容纳多个变量组成的list

result:

1 arg: 1  2 another arg: two  3 another arg: 3

**kwargs:

1 def fun_var_kwargs(farg, **kwargs):  2     print "arg:", farg  3     for key in kwargs:  4         print "another keyword arg: %s: %s" % (key, kwargs[key])  5   6   7 fun_var_kwargs(farg=1, myarg2="two", myarg3=3) # myarg2和myarg3被视为key, 感觉**kwargs可以当作容纳多个key和value的dictionary

result:

1 arg: 1  2 another keyword arg: myarg2: two  3 another keyword arg: myarg3: 3

也可以用下面的形式:

1 def fun_var_args_call(arg1, arg2, arg3):  2     print "arg1:", arg1  3     print "arg2:", arg2  4     print "arg3:", arg3  5   6 args = ["two", 3] #list  7   8 fun_var_args_call(1, *args)

result:

1 arg1: 1  2 arg2: two  3 arg3: 3
1 def fun_var_args_call(arg1, arg2, arg3):  2     print "arg1:", arg1  3     print "arg2:", arg2  4     print "arg3:", arg3  5   6 kwargs = {
"arg3": 3, "arg2": "two"} # dictionary 7 8 fun_var_args_call(1, **kwargs)

result:

1 arg1: 1  2 arg2:"two"  3 arg3:3

 

转载于:https://www.cnblogs.com/yanglang/p/7403531.html

你可能感兴趣的文章
[转载]Meta标签详解
查看>>
File,FileStream,byte[]3者互相转换总结(转)
查看>>
springboot 使用devtools 实现热部署
查看>>
Yahoo网站性能最佳体验的34条黄金守则
查看>>
forward与redirect的区别
查看>>
网络编程之socket
查看>>
Maven pom项目部署
查看>>
Cognos报表验证(添加字段)
查看>>
JavaScript Practices
查看>>
Django web : CSRF verification failed. Request aborted.
查看>>
8公司3月获大股东增持近2700万股
查看>>
学术-物理-维空间:一维空间
查看>>
CSS:CSS 实例
查看>>
innodb的存储结构
查看>>
焦点控制
查看>>
python-文件读写操作
查看>>
P1129 [ZJOI2007]矩阵游戏 二分图匹配
查看>>
Git 内部原理之 Git 对象哈希
查看>>
Vue中引入TradingView制作K线图
查看>>
爱历史 - 朝代歌
查看>>