zoukankan      html  css  js  c++  java
  • 装饰器的定义 带参数的装饰器 多个装饰器装饰同一个函数 装饰器修复技术

    1. 复习函数的知识,

    1.1 函数名对应的内存地址

     

    1.2函数名可以直接赋值给变量

     

    1.3函数名可以做变量

     

    1.4函数名可以做为函数的返回值

     

    1.5函数名可以作为容器类函数的元素

    2. 闭包

    2.1 关于闭包的灵魂三问01

    2,2闭包的灵魂三问02

    2.3 闭包的灵魂三问03

    2.4 闭包的定义

      内层函数对于外层函数的非全局变量的引用,这样就形成的一个闭包,外层函数执行完成的时候,

    内层的闭包函数不会消失,而是会继续在内存中存在,可以在继续的调用。

    2.5 多层函数的嵌套

     

    3 装饰器

     3.1 女娲造人捏泥巴没有水怎么办?

     

     3.3 装饰器语法糖

    学习装饰器的同学们千万要注意,很多人学了一辈子都没有弄明白,一个函数前面加一个装饰器发生了什么?

    把函数名当做装饰器函数的参数传进去执行装饰器函数,再将装饰器函数的inner返回值重新赋值给被装饰的函数,

    对函数进行了装饰,这也是为什么叫装饰器的原因;

    @wrapper

    def func():

      print('女娲造人')

    4. 装饰器进阶

     4.1 装饰带返回值的函数

     

     

    4.2 装饰带参数的函数

     

    4.3 带有参数的装饰器

     

    4.4 多个装饰器装饰同一个函数

    4.5装饰器修复技术

    4.5.1未修复的情况

     

     4.5.2装饰器修复之后

     

    喜欢请用微信打赏


  • 相关阅读:
    Unity5.0 手动激活
    日文“表” php 会报错
    U3D 精灵的点击监听
    Android 数据库ORM框架GreenDao学习心得及使用总结<一>
    Eclipse 打包过滤 Log.e
    Android SQLite系列
    Android Material Design调色板
    Android Studio系列教程六--Gradle多渠道打包
    Android 模块化编程之引用本地的aar
    使用 Chrome 来调试你的 Android App
  • 原文地址:https://www.cnblogs.com/cavalier-chen/p/9885523.html
Copyright © 2011-2022 走看看