def multi_100(func):def demo(ls):# 这个函数是让列表前两个元素*100for i in range(2):ls[i] = (ls[i] * 100)func(ls)return lsreturn demodef divide_100(func2):def demo(ls):for i in range(2, 4):ls[i] = ls[i]/100func2(ls)return demo@divide_100  # 先执行第一个装饰器,再执行第二个装饰器
@multi_100
def change1(ls):ls[0], ls[1] = ls[1], ls[0]print(ls)if __name__ == '__main__':# 现在我有一个列表【1,2,300,400】我定义了一个函数change1,用来交换列表前两个元素的位置ls1 = [1,2,300,400]# 但是现在新增一个需求,在交换位置之前先*100,并且不能改变change1这个函数change1(ls1)#  现在又增加一个需求后两个元素要除以50之后,前两个元素*100之后,再换位置

简单了解,后续深入了解再发

python装饰器简单理解的小demo相关推荐

  1. python装饰器简单理解_python装饰器的简单理解

    如果你接触 Python 有一段时间了的话,想必你对 @ 符号一定不陌生了,没错 @ 符号就是装饰器的语法糖. 装饰器的使用方法很固定: 先定义一个装饰函数(帽子)(也可以用类.偏函数实现) 再定义你 ...

  2. python装饰器简单理解

    装饰器定义:1.把一个函数名当作实参传给另外一个函数(在不修改装饰函数源代码的情况下为其添加功能) 2.返回值中包含函数名(不改变函数调用方式) 源代码: 1 def f(): 2 def f(): ...

  3. Python装饰器通俗理解

    Python装饰器简单来讲就是用于扩展函数功能的一种工具,在扩展功能方面其与类的继承有些相似,都是为了提高代码的复用性.举个例子就是把孙悟空塞入炼丹炉,然后就出来一个还是会吃桃子会耍金箍棒,但是有火眼 ...

  4. python装饰器实例-Python装饰器简单用法实例小结

    本文总结分析了Python装饰器简单用法.分享给大家供大家参考,具体如下: 装饰器在python中扮演着很重要的作用,例如插入日志等,装饰器可以为添加额外的功能同时又不影响业务函数的功能. 比如,运行 ...

  5. python装饰器-如何理解Python装饰器?

    我从以下几点,由浅入深详细讲解一下Python装饰器:什么事装饰器? 为什么用装饰器? 在哪里用装饰器? 然后以示例+讲解相结合的方式阐述,同时会讲解一些在很多教程和书籍中不会涉及到的内容. 什么是P ...

  6. python装饰器哪个好_[Python] 对 Python 装饰器的理解心得

    最近写一个py脚本来整理电脑中的文档,其中需要检校输入的字符,为了不使代码冗长,想到使用装饰器. 上网搜索有关python的装饰器学习文档,主要看的是AstralWind的一篇博文,以及Limodou ...

  7. python装饰器作用-理解python中的装饰器

    一 什么是装饰器? 正如其名,装饰器的作用是为已经存在的对象增加额外功能(装饰),由此可使已有函数在无需代码改动的情况下增加额外功能:装饰器的本质是嵌套的函数且返回函数对象,即闭包.有关闭包的概念,可 ...

  8. python装饰器是什么意思_对Python装饰器的理解

    想要弄明白装饰器是什么东西,首先我们需要了解一下什么是闭包,因为装饰器是闭包的一种应用. 闭包 闭包的定义: ​通俗的来说闭包就是在一个函数内部定义另外一个函数,这个函数又引用了外部函数的变量,并且外 ...

  9. python 装饰器简单笔记(附 *args **kw)

    1. 装饰器 由于函数也是一个对象,而且函数对象可以被赋值给变量,所以,通过变量也能调用该函数. 现在,假设我们要增强函数的功能,比如,在函数调用前后自动打印日志,但又不希望修改函数的定义,这种在代码 ...

最新文章

  1. 一个有趣的Script脚本工具
  2. git常用基本简单命令
  3. sql update 日期减6个月_【干货】SQL基础快速入门
  4. java基本数据类型_Java 中有几种基本数据类型是什么?
  5. C++语言 如何用G++进行编译和运行程序
  6. android网络切换socket,Android版的websocket切换网络无法重连
  7. 冒泡排序提前终止条件_“离职要提前30天通知”这9种误区,你踩过几个?
  8. gcc较高版本的一些编译警告收集
  9. NYOJ--289--苹果
  10. Python字典集合数据结构深入理解
  11. LeetCode 246. 中心对称数
  12. C++程序设计-第2周结构体应用
  13. mysql mtq_MySQL调优学习笔记(一、MySQL基础)
  14. docker pull报错:Timeout exceeded while awaiting headers解决思路
  15. 结对项目——二柱子再更新版
  16. 正太分布函数和反函数 标量值函数 (借鉴)
  17. UltraEdit 15.10 注册码
  18. form表单提交且接口回调显示提交成功
  19. Python Cerberus
  20. Unreal Engine(虚幻引擎)渲染 – 正确使用方法

热门文章

  1. boost::intrusive::treap_algorithms用法的测试程序
  2. boost::hana::maximum用法的测试程序
  3. boost::hana::prefix用法的测试程序
  4. GDCM:gdcm::Command的测试程序
  5. GDCM:gdcm::SwapperDoOp的测试程序
  6. VTK:相互作用之ClientData
  7. VTK:图表之AdjacentVertexIterator
  8. VTK:几何对象之SourceObjects
  9. ListModel QML类型
  10. python相关linux_Python实现获取Linux系统基本信息