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

    在实参位置上给⼀个序列,列表,可迭代对象前⾯加个*表⽰把这个序列按顺序打散.
    在形参的位置上的* 表⽰把接收到的参数组合成⼀个元组
     如果是⼀个字典, 那么也可以打散. 不过需要⽤两个*
  • 相关阅读:
    用python3实现linux的sed功能
    查找列表中指定的所有元素的位置
    Django分页
    python3中字典的copy
    Python中is和==的区别的
    python3的文件读写模式
    使用python3简单完成购物过程
    python3中str的函数
    第一篇
    《笑傲江湖》传剑摘录 有感而发
  • 原文地址:https://www.cnblogs.com/journey-mk5/p/9449590.html
Copyright © 2011-2022 走看看