zoukankan      html  css  js  c++  java
  • python中函数的不定长参数

    例1:
    #定义一个含有不定长参数的函数,本例第三个参数*args
    def sum_nums(a,b,*args):
        print('_'*30)
        print(a)
        print(b)
        print(args)
    
    #调用函数:
    sum_nums(11,22,33,44,55,66,77)
    sum_nums(11,22,33)
    sum_nums(11,22)
    sum_nums(11)#错误调用,传递的参数不够
    
    #输出结果:
    ______________________________
    11
    22
    (33, 44, 55, 66, 77)
    ______________________________
    11
    22
    (33,)
    ______________________________
    11
    22
    ()
    Traceback (most recent call last):
      File "6.py", line 10, in <module>
        sum_nums(11)#错误调用
    TypeError: sum_nums() missing 1 required positional argument: 'b'
    
    
    
    例2:
    #定义一个含有复杂参数类型的函数,**kwargs为关键字参数
    def test(a,b,c=33,*args,**kwargs):
        print(a)
        print(b)
        print(c)
        print(args)
        print(kwargs) 
    
    #函数调用
    test(11,22,33,44,55,task=99,done=89)
    
    #输出结果:
    11
    22
    33
    (44, 55)
    {'task': 99, 'done': 89}
    
    
    例3:拆包
    #定义函数
    def test(a,b,c=33,*args,**kwargs):
        print(a)
        print(b)
        print(c)
        print(args)
        print(kwargs) 
    A=(11,22,33)
    B={
    'task':99,'done':89
    }
    
    #函数调用,将A拆开后传给args,将B拆开后传给kwargs
    test(11,22,33,*A,**B) 
    
    #输出结果
    11
    22
    33
    (11, 22, 33)
    {'task': 99, 'done': 89}
    
    
    
  • 相关阅读:
    pytorch的函数中的group参数的作用
    pytorch的函数中的dilation参数的作用
    resnet18全连接层改成卷积层
    Pytorch实现UNet例子学习
    MyEclipse中出现Address already in use:JVM_Bind:8080
    为SQL数据库创建登录名和密码
    集合体系
    排序算法及其java实现
    java泛型通配符?
    Arrays.asList的用法
  • 原文地址:https://www.cnblogs.com/littlesuns/p/9955068.html
Copyright © 2011-2022 走看看