zoukankan      html  css  js  c++  java
  • 【Python】*args和**kwargs的区别

    1、*args表示将参数作为元组传给函数

    通过一个函数的定义来理解’*args’的含义

    修改函数的定义:

    >>> def fun(*args):
    ...     print args
    ... 

    传一个位置参数调用此函数

    >>> fun(13)
    (13,)

    传多个参数调用此函数

    >>> fun(11,93,43)
    (11, 93, 43)

    ‘*args’在函数定义中是做什么用的?

    它接收元组作为位置参数,而非是常见的参数列表。在这里,”args”是个元组。在上个例子中,调用函数打印”args”时,他会打印元组中包含的所有数值。

    2、**kwargs表示将参数作为字典传给函数

    通过函数定义来理解’**kwargs’的含义

    重定义函数”fun”:

    >>> def fun(a, **kwargs):
    ...     print a, kwargs
    ... 

    此函数只用一个位置参数,因为常规参数列表中只有一个变量’a’.但是通过”**kwargs”,可以传多个键值参数。

    >>> fun(1, b=4, c=5)
    1 {'c': 5, 'b': 4}
    >>> fun(45, b=6, c=7, d=8)
    45 {'c': 7, 'b': 6, 'd': 8}

    在函数定义中”**kwargs”意味着什么? 
    用”**kwargs”定义函数,kwargs接收除常规参数列表职位的键值参数字典。在这里’kwargs’是个字典。

  • 相关阅读:
    友盟推送
    主流推送平台分析
    “完成”的定义和测试的职责
    HDU 1069 Monkey and Banana
    HDU 5587 Array
    ACM组队安排(hdu校赛)
    逆袭指数(hdu校赛)
    玩骰子(hdu校赛)
    Codeforce 546 A. Soldier and Bananas
    Codeforce 546 B. Soldier and Badges
  • 原文地址:https://www.cnblogs.com/jingsheng99/p/10562286.html
Copyright © 2011-2022 走看看