zoukankan      html  css  js  c++  java
  • 第十一天笔记

    一、什么是装饰器

    器:指的是具备某一功能的工具。 装饰:指的是为被装饰器添加新功能。

    装饰器就是用来为被装饰器对象添加新功能的工具(注意:装饰器本身可以是任意可调用对象,被装饰的对象也可以是任意可调用对象)

    二、为何要用装饰器

    开放封闭原则:封闭指的是对修改封闭,对扩展开放

    装饰器的实现必须遵守俩大原则:

    1.不修改被装饰对象的源代码

    2.不修改被装饰器对象的调用方式

    装饰器的目标:就是在遵循1和2的原则的前提下为被装饰对象添加上新功能。

    装饰器的语法糖:在被装饰对象正上方单独一行写@装饰器的名字

    运行原理:

    python解释器一旦运行到@装饰器的名字,就会调用装饰器,然后将被装饰函数的内存地址当作参数传给装饰器,最后将装饰器调用的结果赋值给原函数名

    补充:所有的数据类型的值自带布尔值,可以直接当作条件去用,只需要记住布尔值为假的那一些值即可(0,空,None)

  • 相关阅读:
    BZOJ 4260: Codechef REBXOR (trie树维护异或最大值)
    BZOJ 3744 Gty的妹子序列 做法集结
    BZOJ 3289: Mato的文件管理 (区间查询逆序对)
    [JSOI2007]文本生成器
    [TJOI2013]单词
    模板 AC自动机
    POJ 3710 Christmas Game
    HDU 3094 A tree game
    BZOJ 3817 Sum
    BZOJ 4589 Hard Nim
  • 原文地址:https://www.cnblogs.com/zhouhao123/p/9401254.html
Copyright © 2011-2022 走看看