zoukankan      html  css  js  c++  java
  • 2019.03.21 可变参数-参数解包

    是可变参数还是参数解包,取决于在形参位置还是实参位置、

    1.*args将收集所有位置相关的参数,并放到一个元祖中,最后将这个元祖赋值给args

    2.**kwargs指针对关键字参数

       这些关键字参数会放到一个相应的字典中,然后同样的赋值个kwargs

    def demo(*args,**kwargs):
      print args,kwargs
           
           
    demo()
    """
    ()
    {}
    """


    demo(1,2)
    """
    (1,2)
    {}
    """


    demo(c='a',b='d')
    """
    ()
    {'c': 'a', 'b': 'd'}
    """


    demo(1,2,c='a',b='d')
    """
    (1, 2)
    {'c': 'a', 'b': 'd'}
    """

    参数解包


    1. *arg可以解包元组,而**kwarg则可以解包字典

    def demo(a,b,c):
      print a,b,c
       
    kwargs = {'a':1,'b':2,'c':3}
    demo(**kwargs)
    结果:1 2 3


    args =(1,2,3)
    demo(*args)
    1 2 3


    可变参数和参数解包区别

    1. 可变参数是在形参中,利用*,**来实现

    2. 参数解包是在实参中,利用*,**来实现

  • 相关阅读:
    python调用函数
    python递归函数的执行过程
    linux rwx 权限说明
    linux ssh scp免密码
    linux的bash特性
    python3常用的内置函数
    linux清理系统缓存
    vim常用命令
    公司项目安装禅道
    jquery 自定义动画
  • 原文地址:https://www.cnblogs.com/Py-king/p/10573082.html
Copyright © 2011-2022 走看看