今日学习内容:装饰器

什么是装饰器:

装饰器分为两种

有参装饰器,无参装饰器

器=>工具装饰=>指的是为被装饰对象添加新功能

装饰器本身可以是任意可调用的对象=>函数被装饰的对象也可以是任意可调用的对象=>函数

目标:写一个函数来为另外一个函数添加新功能

为什么要用装饰器
开放封闭原则: 软件一旦上线就应该对修改封闭,对扩展开放    对修改封闭:        1. 不能修改功能的源代码        2. 也不能修改功能的调用方式

    对扩展开发:        可以为原有的功能添加新的功能

装饰器就是要在不修改功能源代码以及调用方式的前提下为原功能添加额外新的功能

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


转载于:https://www.cnblogs.com/zhujunjie/p/9714968.html

python学习10相关推荐

  1. Python学习 10 - 基本数据类型小练习

    个人学习总结笔记如有不足和错误欢迎指教谢谢 1.执行 Python 脚本的两种方式         1.进入python直接打命令         2.让python运行1.py 2.简述位.字节的关 ...

  2. Python学习 | 10个爬虫实例

     如何安装requests库(安装好python的朋友可以直接参考,没有的,建议先装一哈python环境) windows用户,Linux用户几乎一样: 打开cmd输入以下命令即可,如果python的 ...

  3. Python学习10 内置属性 对象属性 类属性 私有属性 私有方法 对象方法 类方法 静态方法

    内置属性 创建类时系统自动创建的属性 # 内置属性:dir(对象),列出所有的内置属性 class Person(object):'''Person类1'''# Person类2__slots__ = ...

  4. python学习-10 运算符1

    1.加+,减-,乘*,除/ 例如: a = 1 b = 2 c = a + b print(c) 运算结果: 3Process finished with exit code 0 a = 1 b = ...

  5. Python学习10:计算三维空间某点距离原点的欧式距离(python123)

    题目描述: 欧几里得度量(euclidean metric)(也称欧氏距离)是一个通常采用的距离定义.三维空间里点a和b的坐标如果分别为a(x1,y1,z1).b(x2,y2,z2),则ab的距离的计 ...

  6. 2019学习Python的10个原因

    如果你经常关注我,那你可能想知道为什么我要写一篇文章来告诉你们学习Python?但是几年前我曾向你们说过Java比Python更具有优势,哦,这就尴尬了,但确实,这几年情况有所改变,在2016年,Py ...

  7. (10.1)Python学习笔记二

    1.在项目工程中要模块化测试一个开发的功能,在测试通过后交付给项目组其他人员继续开发.要保证代码开发的性能和效率以及可扩展性. 2.项目工程中的文件夹分类要功能模块明确清晰,在python中引入某一个 ...

  8. python考试有什么用_Python有什么用?2020年学习Python的10个理由

    如果你想学习 Python,但是不知道为什么要学习,那么这里有 10 个理由,强调了在 2020 年学习 Python 的好处. 不过,这些问题取决于谁在问,也就是说,对于初学者来说,学习Python ...

  9. 免费!中文!10个最佳Python学习网站推荐

    分享资料,一起学习! 我是小白(微信 tlxx233 ) 备注 888建了个微信程序员学习群,互相解答问题,有需要的同学可以加我微信进群. 10个免费学习 Python 的中文网站 如果你想要学习 P ...

最新文章

  1. centos 安装cacti监控
  2. 成功解决 bs4\__init__.py:219: UserWarning: b'.' looks like a filename, not markup. You should probably
  3. 初中变成了菜园子了!
  4. BZOJ 3729: Gty的游戏 [伪ETT 博弈论]【学习笔记】
  5. android shape使用总结
  6. TIOBE 6 月编程语言排行榜:Python 势不可挡,或在四年之内超越 Java、C
  7. 测度定义_测度论浅谈
  8. PLC编程语言入门,常用指令集汇总分享
  9. 英语计算机四级成绩查询入口,全国计算机四级考试成绩查询入口
  10. 【Spark】Graphx用例(Java)
  11. uniApp使用uni.chooseAddress()获取微信收货地址
  12. 29(将数字字符串转换成数字)
  13. C++三角定位法求两圆交点坐标
  14. 手把手教你申请计算机软件著作权(2)—— 生成代码文件身份证明
  15. Altium Designer基础PCB布局布线
  16. 足球一代又一代得青春
  17. 【Python】笨方法学Python学习笔记1
  18. nginx配置本地静态资源路径
  19. 2022年Redis最新面试题 - Redis缓存问题
  20. VBA脚本查找AS400 DSPMSG任务执行状态

热门文章

  1. centos 使用mysql_Centos下MySQL使用总结
  2. laravel route函数 404_laravel生成及获取不同类型的URL地址总结
  3. android studio 触摸锁,学习AndroidStudio布局,并编写一个图案解锁demo
  4. 【NOIp2002】矩形覆盖
  5. Silverlight智能表单(3)之XML存储
  6. MySQLzip压缩文件格式安装教程
  7. Android 实现手写板技术
  8. HDU 5985 Lucky Coins 数学
  9. 团队冲刺第一阶段第五天
  10. 二分查找(递归和非递归实现)