• 20 函数总结


    # 函数的定义和调用
    # def 函数名(形参):
    #函数体
    #return 返回值
    #调用 函数名(实参)
    # 站在形参的角度上 : 位置参数,*args,默认参数(陷阱),**kwargs
    # 站在实参的角度上 : 按照位置传,按照关键字传
    # 返回值:没有返回值 返回一个值 返回多个值
    # 接收返回值:没有返回值不接收,返回一个值用一个变量接收,返回多个值用一个变量或者对应数目的变量接收
    # 闭包函数 —— 在内部函数引用外部函数的变量
    # 装饰器函数—— 装饰器一定是闭包函数
    # 装饰器的作用 : 在不改变原来函数的调用方式的情况下 在这个函数的前后添加新的功能
    # 完美的符合了一个开发原则 :开放封闭原则
    # 对扩展是开发的
    # 对修改是封闭的

    # 基础的装饰器
    from functools import wraps
    def wrapper(func):
        @wraps(func)
        def inner(*args,**kwargs):
    #         '''在函数被调用之前添加的代码'''
            ret = func(*args,**kwargs)   # func是被装饰的函数 在这里被调用
    #        '''在函数被调用之后添加的代码'''
            return ret
        return inner
    #使用 —— @wrapper
    @wrapper
    def func():   #inner
        pass
    
    func.__name__
    # 带参数的装饰器
    def outer(形参):
        def wrapper(func):
            def inner(*args,**kwargs):
                '''在函数被调用之前添加的代码'''
                ret = func(*args,**kwargs)   # func是被装饰的函数 在这里被调用
                '''在函数被调用之后添加的代码'''
                return ret
            return inner
        return wrapper
    @outer(True)
    def func():
        pass
    # 多个装饰器装饰一个函数
    def wrapper1(func):
            @wraps(func)
            def inner(*args,**kwargs):
                print('before 1')
                print('******')
                ret = func(*args,**kwargs)   # func是被装饰的函数 在这里被调用
                '''在函数被调用之后添加的代码'''
                return ret
    def wrapper2(func):
        @wraps(func)
        def inner(*args,**kwargs):
            print('before 2')
            ret = func(*args,**kwargs)   # func是被装饰的函数 在这里被调用
            '''在函数被调用之后添加的代码'''
            return ret
      @wrapper1
      @wrapper2
      def func():
          print('111')

     

  • 相关阅读:
    TTFB
    区分数组与对象
    单点登录使用163邮箱
    从其它系统登录到SharePoint 2010系统的单点登录
    js 弹出对话框3种方式
    PowerShell编辑
    修改SharePoint页面上的控件数量的限制
    在SharePoint 2010页面中嵌入SWF文件
    修改SharePoint列表项显示“新”图标的天数
    JSP页面显示乱码
  • 原文地址:https://www.cnblogs.com/bydzxzy/p/9652335.html
Copyright © 2020-2023  润新知