zoukankan      html  css  js  c++  java
  • python函数的动态传参

    
    
    def trans_para(*args,**kwargs):
        print(args,type(args))
        print(kwargs,type(kwargs))
    trans_para("jinxin",12,[1,2,3,4],[3,4,],(1,4,7),{"a":"123","c":456},country="china")

    动态参数,也叫不定长传参,就是你需要传给函数的参数很多,不定个数,那这种情况下,你就用*args,
    **kwargs接收,args是元祖形式,接收除去键值对以外的所有参数,kwargs接收的只是键值对的参数,并保存在字典中。
    
    
    

    当向函数输入实参的时候,输入的内容会依次去匹配形参的位置,当处于合适的位置,这个参数就会被收.
    因此当输入的实参位置有问题时,就会有错误,就会像数学中的函数,解都是一一对应的.
    *args可接收所有没有位置的的位置参数,并打包到一个元组中.
    **kwargs可接收所有位置参数后面的关键字参数.
    动态传参的顺序 位置参数 > *args > 默认值参数 > **kwargs

    在实参位置上给⼀个序列,列表,可迭代对象前⾯加个*表⽰把这个序列按顺序打散.
    在形参的位置上的* 表⽰把接收到的参数组合成⼀个元组
     如果是⼀个字典, 那么也可以打散. 不过需要⽤两个*
  • 相关阅读:
    Myflight航班查询系统
    《java语法实例2~15章》
    第九章
    第八章
    第六章
    第五章
    第四章
    php_mvc实现步骤十
    php_mvc实现步骤九(登录验证码,退出-登录标记)
    php_mvc实现步骤八
  • 原文地址:https://www.cnblogs.com/journey-mk5/p/9449590.html
Copyright © 2011-2022 走看看