• Python代码中func(*args, **kwargs)


    这是Python函数可变参数 args及kwargs

    *args表示任何多个无名参数,它是一个tuple

    **kwargs表示关键字参数,它是一个dict

     

    测试代码如下:

    def foo(*args,**kwargs):
        print ('args=',args)
        print ('kwargs=',kwargs)
        print ('**********************') 
    
    if __name__=='__main__':
        foo(1,2,3)
        foo(a=1,b=2,c=3)
        foo(1,2,3,a=1,b=2,c=3)
        foo(1,'b','c',a=1,b='b',c='c')

     

    执行结果如下:

    args= (1, 2, 3)
    kwargs= {}
    **********************
    args= ()
    kwargs= {'a': 1, 'b': 2, 'c': 3}
    **********************
    args= (1, 2, 3)
    kwargs= {'a': 1, 'b': 2, 'c': 3}
    **********************
    args= (1, 'b', 'c')
    kwargs= {'a': 1, 'b': 'b', 'c': 'c'}
    **********************

     

    补充1:遇到一个很有意思的bug,在使用多线程threading时,标注的那一行的逗号不能去除(否则会报错未传参数),而如果传递的参数是两个,则末尾的逗号可以去除。猜测这里的逗号起到表示该参数为tuple类型。

    for item in items:
        t = threading.Thread(target=get_content, args=(item,))#,不能去除,会报错
        t.start()
        # get_content(base_fq=item)

     

     参考链接:

    https://zhidao.baidu.com/question/367559039025445444.html

    双参数案例:

    https://gitee.com/bob1112/pythonPaChong/blob/master/get_comic.py

     

     
  • 相关阅读:
    R语言 which() 、 which.min() 、 which.max() 函数
    R rep() 函数
    R语言 一个向量的值分派给另一个向量
    R语言 sample抽样函数
    超参数 hyperparameters
    随机游走模型(Random Walk)
    随机数
    Lambda 函数与表达式
    static
    变量的申明定义
  • 原文地址:https://www.cnblogs.com/feng-hao/p/11313281.html
Copyright © 2020-2023  润新知