装饰器:高阶函数+嵌套函数(函数里面再定义一个函数)

前提:认清函数既是变量def 相当于定义函数名 = 函数体

本质:是一个函数

宗旨:1.不改变源代码下增加功能。

2.调用方式不变

 

Top1;装饰器的实质是函数哦。如下:

结果---》

结果

这是因为此装饰器中相当于f1 = decoration(f1)造成这样的结果

模板1.运行被装饰程序后仍可执行别的

模板2.low

 

Top2:

 

若函数有参数传入,应该设置可变参数和关键字参数 运行f2相当于:

f2 = wonder(f2)  f2(‘dad’) = wonder(f2)(‘dad’) = deco(‘dad’)

Top3. 有时候不注意的时候回改变代码结果,如下:

这是因为line4 调用fun1时是fun1的return,不是deco的renturn


改成:区别在line 4 -line 6

Top4.

另一模板,可以选择的装饰效果,此时嵌套应该是三层,如下

 

 

The end

decoration相关推荐

  1. 转:Flutter Decoration背景设定(边框、圆角、阴影、形状、渐变、背景图像等)...

    1 继续关系: BoxDecoration:实现边框.圆角.阴影.形状.渐变.背景图像 ShapeDecoration:实现四个边分别指定颜色和宽度.底部线.矩形边色.圆形边色.体育场(竖向椭圆).  ...

  2. Flutter之Decoration(边框、圆角、阴影、形状、渐变、背景图像等)

    1 继续关系: BoxDecoration:实现边框.圆角.阴影.形状.渐变.背景图像 ShapeDecoration:实现四个边分别指定颜色和宽度.底部线.矩形边色.圆形边色.体育场(竖向椭圆).  ...

  3. Flutter之Decoration

    1.不废话,先爆照看效果 2.Decoration介绍 Flutter的Decoration可以设置:背景色 背景图 边框 圆角 阴影 渐变色 的等属性,有点像android里面的shape,Deco ...

  4. RecycleView的Item Decoration间隔样式

    RecyclerView通过addItemDecoration()方法添加item之间的分割线.Android并没有提供实现好的Divider,因此任何分割线样式都需要自己实现. 自定义间隔样式需要继 ...

  5. Flutter Decoration背景设定(边框、圆角、阴影、形状、渐变、背景图像等)

    1 继续关系: BoxDecoration:实现边框.圆角.阴影.形状.渐变.背景图像 ShapeDecoration:实现四个边分别指定颜色和宽度.底部线.矩形边色.圆形边色.体育场(竖向椭圆).  ...

  6. Flutter 自定义Decoration

    Flutter 中 可以给Container设置decoration来设置背景,边框等等效果,非常方便. Container(decoration: TestDecoration(),); 但是Flu ...

  7. 一起来学Flutter: 使用Decoration设置背景

    文章目录 Decoration BoxDecoration ShapeDecoration FlutterLogoDecoration UnderlineTabIndicator 源码 引用 Deco ...

  8. CSS Text Decoration

    大家很熟悉的 CSS2 用法 text-decoration ,到了 CSS3 就拥有很多新的特性.本文将介绍 Level 4 中最新添加的特性. CSS Text Decoration 文字修饰线: ...

  9. 【Flutter 问题系列第 41 篇】Cannot provide both a color and a decoration,To provide both, use “decoration“

    这是[Flutter 问题系列第 41 篇],如果觉得有用的话,欢迎关注专栏. 这个错误相信每一个刚接触 Flutter 的都会碰到,不是什么大问题,只是一个注意事项而已. 一:报错信息 示例代码如下 ...

最新文章

  1. matlab配对交易回测,精品案例 | 经典投资策略之配对交易策略
  2. 传说中理科生看到会沉默、文科生看到会流泪的【程序员文史综合题目】
  3. java左上角图标太小_Eclipse在高分屏下图标过小的解决方法
  4. 数据库中存储过程和触发器有什么异同?
  5. 数据库数据类型、常见约束、系统结构的基本知识总结(SQL、DML、DQL、DCL、DTL)
  6. 我心目中的Asp.net核心对象
  7. stl变易算法(二)
  8. mark点Z3学习资料整理
  9. 计算机多媒体应用的技术手段,计算机多媒体技术的关键性技术
  10. 如何将img镜像安装到硬盘、解决默认分区小的问题
  11. HIT软件构造 软件生命周期 配置管理
  12. java 30天之前的数据归档
  13. Ubuntu恢复官方默认源
  14. win10更新助手_快升级!win10精简版不到10G,比win7还干净流畅,无需更新!
  15. 政府采购和招标投标常见问题:评标的依据是什么?
  16. Pycharm提示“typo:in word“的意思
  17. php中跟时间有关的处理(时区设置,计算时间差,获取系统当前时间)
  18. 支持向量机鸢尾花Iris数据集的SVM线性分类练习
  19. DFIG控制3: 风机模型和最基础的MPPT
  20. python采集链家二手房信息

热门文章

  1. 【二叉树】求根节点到叶节点数字之和
  2. linux查看hbase集群状态,hbase 集群部署
  3. C++内存管理方式——new/delete
  4. 计算机考研规划 知乎,考研知乎最全117个问题!看完让你的考研成功率大大提高...
  5. linux下数据库启动和停止
  6. c语言常见错误分析和程序调试,C语言中常见错误分析及程序调试
  7. tensorflow slim 安装教程
  8. nginx 排除 部分地址_在设计排除部分文化的图标时重新设计图标
  9. 丰泽就业老师告知90后求职面试应具备的5种心态_河南丰泽教育JAVA/3G学院
  10. Git强推本地代码到远程