文档章节

Python中*args 和**kwargs的用法

突然帅了
 突然帅了
发布于 2015/04/25 17:26
字数 155
阅读 8
收藏 0

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

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

*args

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

result:

arg: 1  
another arg: two  
another arg: 3

**kwargs:

def fun_var_kwargs(farg, **kwargs):  
    print "arg:", farg  
    for key in kwargs:  
        print "another keyword arg: %s: %s" % (key, kwargs[key])  

fun_var_kwargs(farg=1, myarg2="two", myarg3=3) # myarg2和myarg3被视为key, 感觉**kwargs可以当作容纳多个key和value的dictionary

result:

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


本文转载自:http://blog.csdn.net/chenjinyu_tang/article/details/8136841

共有 人打赏支持
突然帅了
粉丝 8
博文 90
码字总数 28698
作品 0
西安
Python tips: 什么是*args和**kwargs?

先来看个例子: def foo(args, *kwargs): 输出结果如下: args = (1, 2, 3, 4) kwargs = {} --------------------------------------- args = () kwargs = {'a': 1, 'c': 3, 'b': 2} ------......

charlesdong1989
2012/04/09
0
0
python中的*args和**kwargs

并非本人原创!!! 先来看个例子: 输出结果如下: ![在此输入图片描述][1] 可以看到,这两个是python中的可变参数。args表示任何多个无名参数,它是一个tuple;kwargs表示关键字参数,它是...

恶魔在江湖
2013/06/08
0
0
python中的魔法参数:*args和**kwargs

def foo(args, *kwargs):print 'args = ', argsprint 'kwargs = ', kwargsprint '---------------------------------------'if name == 'main':foo(1,2,3,4)foo(a=1,b=2,c=3)foo(1,2,3,4, a=......

岭南六少
2011/08/06
0
0
Python中的*self,*self._args, **kwargs

在python中,有些常见方法参数是:self._args, kwargs,如:self._target(self.args, **self.kwargs)。经过查找一些资料,可以归纳为以下两种类型: *self._args 表示接受元组类参数; **kw...

qq_39521554
04/30
0
0
转-Python参数知识[变量前加星号的意义]

From:http://blog.sina.com.cn/s/blog4bfd07180100g34k.html 1.过量的参数 在运行时知道一个函数有什么参数,通常是不可能的。另一个情况是一个函数能操作很多对象。更有甚者,调用自身的函数...

玉龙
2012/03/03
0
0

没有更多内容

加载失败,请刷新页面

加载更多

WinDbg

参考来自:http://www.cnit.net.cn/?id=225 SRV*C:\Symbols*http://msdl.microsoft.com/download/symbols ctrl + d to open dump_file Microsoft (R) Windows Debugger Version 6.12.0002.633......

xueyuse0012
今天
2
0
OSChina 周五乱弹 —— 想不想把92年的萝莉退货

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @罗马的王:分享松澤由美的单曲《地球ぎ》 很久没看圣斗士星矢了 《地球ぎ》- 松澤由美 手机党少年们想听歌,请使劲儿戳(这里) @开源中国首...

小小编辑
今天
14
2
springBoot条件配置

本篇介绍下,如何通过springboot的条件配置,控制Bean的创建 介绍下开发环境 JDK版本1.8 springboot版本是1.5.2 开发工具为 intellij idea(2018.2) 开发环境为 15款MacBook Pro 前言 很多时候,...

贺小五
今天
1
0
javascript source map 的使用

之前发现VS.NET会为压缩的js文添加一个与文件名同名的.map文件,一直没有搞懂他是用来做什么的,直接删除掉运行时浏览器又会报错,后来google了一直才真正搞懂了这个小小的map文件背后的巨大...

粒子数反转
昨天
1
0
谈谈如何学Linux和它在如今社会的影响

昨天,还在农耕脑力社会,今天已经人工智能技术、大数据、信息技术的科技社会了,高速开展并迅速浸透到当今科技社会的各个方面,Linux日益成为人们信息时代的到来,更加考验我们对信息的处理程...

linux-tao
昨天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部