zoukankan      html  css  js  c++  java
  • 深入理解python装饰器

    写在前面,参考文章链接:

    1.博客园(https://www.cnblogs.com/everzin/p/8594707.html)

    2.公众号文章

    装饰器是什么,什么时候会用到装饰器呢?

    写代码要遵循开放封闭原则,虽然在这个原则是用的面向对象开发,但是也适用于函数式编程,简单来说,它规定已经实现的功能代码不允许被修改,但可以被扩展,即:

    • 封闭:已实现的功能代码块
    • 开放:对扩展开发

    如我已经编写了函数fun1()和  func2(),并且在其他地方有对这2个函数的调用。但是,需求发生了变动,代码也要变动。那么是直接在原来的函数上进行修改呢(这样显然会被累死),还是写个新函数实现变动并调用原来的方法呢(缺点,其他地方的引用要修改)。

    如何实现不需要修改原来的代码呢,此处就用到了装饰器的。

    附上2 个简单的例子:

    1)  函数里面嵌套函数,外层的函数接收一个参数(被装饰的函数)

    2)  外层函数返回的是内层嵌套函数,内层函数中  调用了外部函数接收到的被装饰的函数 + 需要实现的新功能。

    3)  不需要修改原来的代码,只需要在函数名前添加装饰器@fun_check 既可以实现新功能

    4)  *args 实现不定长参数

  • 相关阅读:
    迭代和列表生成式
    python递归函数
    python函数
    变量
    python第八课后整理
    python第八课
    python第七课
    python第六课
    python第五课
    微信端/企业微信端H5页面调试方法
  • 原文地址:https://www.cnblogs.com/test123/p/10559702.html
Copyright © 2011-2022 走看看