• 装饰器


    1.*args与**kwargs

    1,* 的意义
    def fun(a,b,c):
    ...     print a,b,c
    l = [1,2,3]
    >>>fun(*l)
    它拆开*后面的数列l的数值作为位置参数,并把这些位置参数传给函数’fun’来调用。
    注意:l与对应的fun函数中的参数个数对应。
    
    2,*args 的意义
    def fun(*args):
    ...     print args
    >>>fun()    #这个函数中可以带任意个参数。
    在这里,”args”是个元组。调用函数打印”args”时,他会打印元组中包含的所有数值。
    
    def fun(a,*args):
    ...     print args
    >>>fun()    #这个函数中也可以带任意个参数。
    
    3,** 的意义
    使用”**”调用函数,这种方式我们需要一个字典.
    注意:在函数调用中使用”*”,我们需要元组;在函数调用中使用”**”,我们需要字典。
    def fun(a, b, c):
    ...     print a, b, c
    >>> d={'b':5, 'c':7}
    >>> fun(1, **d)
    1 5 7
    
    4,**kwargs的意义
    用”**kwargs”定义函数,kwargs接收除常规参数列表职位的键值参数字典。在这里’kwargs’是个字典。所以字典就需要对应关系,比如fun里没C你传个C进去就没有用。
    def fun(a, **kwargs):
    ...     print a, kwargs
    此函数只用一个位置参数,因为常规参数列表中只有一个变量’a’.但是通过”**kwargs”,可以传多个键值参数。
    >>> fun(1, **{'b':2, 'c':34})
    *args 返回元组
    **kwargs 返回字典 ----->可以位置传参
               ----->可以带参数名传参


    try...except
    try 尝试执行try中的代码,若有错,则被except捕获
    except 但整个程序不会崩溃。

    yield 将函数把转换成一个生成器。







  • 相关阅读:
    TCGA下载神器--TCGAbiolinks
    perl模块终极解决方案--转载
    Web前端优化
    关于CDN
    手写RateLimiter
    互联网高并发之限流
    互联网高并发之Hystrix实现服务隔离和降级
    关于Hystrix
    Apollo原理
    SpringBoot2.0之整合Apollo
  • 原文地址:https://www.cnblogs.com/zhang958/p/11328596.html
Copyright © 2020-2023  润新知