python之 *args 和 **kwargs

2019-07-26  本文已影响0人  bonnie_xing

一、demo

1. 关于*args, **kwargs的调用示例

def foo(first, *args, **kwargs):
    print('first=', first)
    print('args=', args)
    print('type(args)=', type(args))
    print('kwargs=', kwargs)
    print('type(kwargs)=', type(kwargs))
    print('--------------------')


if __name__ == '__main__':
    foo(1,2,3,4)
    foo('first', a=1, b=2, c=3)
    foo(1,2,3,4, a=1, b='2', c=3)
    # foo(a=1, 1)

2. 查看输出结果

first= 1
args= (2, 3, 4)
type(args)= <class 'tuple'>
kwargs= {}
type(kwargs)= <class 'dict'>
--------------------
first= first
args= ()
type(args)= <class 'tuple'>
kwargs= {'a': 1, 'b': 2, 'c': 3}
type(kwargs)= <class 'dict'>
--------------------
first= 1
args= (2, 3, 4)
type(args)= <class 'tuple'>
kwargs= {'a': 1, 'b': '2', 'c': 3}
type(kwargs)= <class 'dict'>
--------------------

二、解释

1.关于*args

2.关于**kwargs

3.参数顺序

三、参考连接

https://www.cnblogs.com/fengmk2/archive/2008/04/21/1163766.html
http://kodango.com/variable-arguments-in-python

上一篇 下一篇

猜你喜欢

热点阅读