Fork me on GitHub

Python函数参数传递中的*号使用

主要包含单引号和双引号的用法

单星号(*)
  1. 将所有参数以元组(tuple)的形式导入:

    1
    2
    3
    4
    5
    6
    7
    >>> def foo(param1, *param2):
    print param1
    print param2

    >>> foo('a',2,3,4,5)
    'a'
    (2, 3, 4, 5)
  2. 解压参数列表

    1
    2
    3
    4
    5
    6
    >>> def foo(param1, param2):
    print param1,param2

    >>> input = [1,2]
    >>> foo(*input)
    1,2
双引号(**)
  1. 将参数以字典(dict)的形式导入

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    >>> def foo(a, b=2, *args, **kwargs)
    print a
    print b
    print args
    print kwargs

    >>> foo(1,23,3,4,e=5,f=6,g=7)
    1
    23
    (3,4)
    {'e':5,'f':6,'g':7}
您的鼓励是我持之以恒的动力