最新公告
  • 欢迎您光临起源地模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • python如何传入不定长参数

    正文概述    2020-02-20   172

    python如何传入不定长参数

    刚开始接触Python时,向函数传递最多的为对应参数,所谓说的一个萝卜一个坑

    def test_arg(a,b):
        print(a,b)

    渐渐地发现,在定义函数时,我们并不知道函数调用的时候会传递多少个参数,这个就是今天主题提出的问题,即向函数传递不定数量的参数

    def test1_var_args(*arg2):
        print("test1_var_args")
        print(arg2)
    
    def test2_var_arg(**arg):
        print("test2_var_args")
        print(arg)
    
    def test3_var_args(arg1,*arg2):
        print("test3_var_args")
        print(arg1)
        print(arg2)
    
    def test4_var_args(arg1,**arg2):
        print("test4_var_args")
        print(arg1)
        print(arg2)
    
    def test5_var_args(arg1,*arg2,**arg3):
        print("test5_var_args")
        print(arg1)
        print(arg2)
        print(arg3)
    
    def test6_var_args(arg1, arg2="moren",*arg3, **arg4):
        print("test6_var_args")
        print(arg1)
        print(arg2)
        print(arg3)
        print(arg4)
    
    if __name__=="__main__":
        test_arg(1,2)
        test1_var_args()
        test1_var_args(1,2,3,4)
    
        test2_var_arg()
        test2_var_arg(a="1",b='2')
    
        test3_var_args(1)
        test3_var_args(1,2,3,4)
    
        test4_var_args(1,a="2",b="3")
    
        test5_var_args(1,2,3,4,a="5",b="6")
    
        test6_var_args(1,a="2",b="3" ,c="4")
        test6_var_args(1, arg2="3", c="4")
    
    #结果
    test1_var_args
    ()
    test1_var_args
    (1, 2, 3, 4)
    
    test2_var_args
    {}
    test2_var_args
    {'a': '1', 'b': '2'}
    
    test3_var_args
    1
    ()
    test3_var_args
    1
    (2, 3, 4)
    
    test4_var_args
    1
    {'a': '2', 'b': '3'}
    
    test5_var_args
    1
    (2, 3, 4)
    {'a': '5', 'b': '6'}
    
    test6_var_args
    1
    moren
    ()
    {'a': '2', 'b': '3', 'c': '4'}
    test6_var_args
    1
    3
    ()
    {'c': '4'}

    上述例子可知:

    前面带有 *表示为一个不定数量的元组参数,默认是()

    前面带有**表示为一个不定数量的字典参数,默认是{}

    多种参数混合使用时,需要注意顺序,一般为先位置、再关键字、再不定数量的元组参数、再不定数量的字典参数

    特别注意的是,当前带有不定参数的函数传递列表或者字典时,切记,一定要解包否则报错

    lis=[1,2,3]def parse(*args):
        for i in args:
          print(i)parse(*lis)#解包

    更多学习内容,请点击Python学习网。


    起源地下载网 » python如何传入不定长参数

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元