zoukankan      html  css  js  c++  java
  • python 中参数*args, **kwargs

    def func(*args, **kwargs):
      print 'args : ', args
      print 'kwargs :', kwargs

    def test():
      func(1,2,'x','y')
      ''' 输出结果:
      args : (1, 2, 'x', 'y')
      kwargs : {}
      '''

      func(a=1,b=2,c=3)
      ''' 输出结果:
      args : ()
      kwargs : {'a': 1, 'c': 3, 'b': 2}
      '''
      func(1,2,'x','y', a=1,b=2,c=3)
      ''' 输出结果:
      args : (1, 2, 'x', 'y')
      kwargs : {'a': 1, 'c': 3, 'b': 2}
      '''
      func(1,2,'x',None, a=1,b=2,c=3)
      ''' 输出结果:
      args : (1, 2, 'x', None)
      kwargs : {'a': 1, 'c': 3, 'b': 2}
      '''

          可以看到,这两个是Python中的可变参数。*args表示任何多个无名参数,它是一个tuple;**kwargs表示关键字参数,它是一个 dict。并且同时使用*args和**kwargs时,必须*args参数列要在**kwargs前面,否则会报错。

  • 相关阅读:
    Oracle expdp 多表导出处理
    字符串
    Java设计模式
    多线程
    Java面向对象练习
    Java面向对象基础
    Java基础算法
    Java常识
    DOS基础命令(1)
    Java基础练习
  • 原文地址:https://www.cnblogs.com/shaosks/p/5623844.html
Copyright © 2011-2022 走看看