python 常用变量 *args 和 **kargs

简单来说下
当函数的所需要的参数,不确定的时候,才会使用*args和 **kargs
*args 是一个不带KEY的多个参数。 如列表

**kargs是带key的参数。 如字典

代码示例:

*args 用法

   
def getargs(arg,*args):
    print "arg:" , arg
    for value in args:
        print 'other arg:', value

getargs('a','c',2)

retulst:

   
arg: a
other arg: c
other arg: 2

也可以直接传递过去一个列表

   
def get_args(arg1, arg2, arg3):  
    print "arg1:", arg1  
    print "arg2:", arg2  
    print "arg3:", arg3  
  
args = ['33',"three", 3] #
  
get_args(*args)  

result:

   
arg1: 33
arg2: three
arg3: 3

**kargs用法

   
def getkargs(arg,**kargs):
    print 'arg:', arg
    for key in kargs:
        print 'other arg: %s --> %s' %(key,kargs[key])


getkargs(arg=1,arg2=2,arg3=3)

result :

   
arg: 1
other arg: arg2 --> 2
other arg: arg3 --> 3

同理
**kargs 也可以直接传递过去一个字典

   
def getkargs(arg1, arg2):  
    print "arg1:", arg1  
    print "arg2:", arg2  
  
kwargs = {"arg3": 3, "arg2": 33} # dictionary  
  
getkargs( **kwargs) 

result:

   
arg1: 3
arg2: 33
未经允许不得转载:99ya » python 常用变量 *args 和 **kargs

抢沙发