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装饰器修复之后

     

    喜欢请用微信打赏


  • 相关阅读:
    Android变化如何破解几场金
    mysql 在创建批处理脚本日志表信息
    近期感悟要多说多想多做
    Spring使用小结2
    structs2使用小结2
    2013第50周五打包
    2013第50周四开发记
    jquery使用总结
    2013第50周三开发记
    eclipse编辑工具小结
  • 原文地址:https://www.cnblogs.com/cavalier-chen/p/9885523.html
Copyright © 2011-2022 走看看