首页 > 其他 > 详细

DAY 13 开放封闭原则

时间:2019-01-15 16:47:07      阅读:138      评论:0      收藏:0      [点我收藏+]

装饰器:

  即是用一个函数去拓展另一个函数,同时遵循开放封闭原则

开放封闭原则

  对修改关闭,对拓展开放

  不允许修改源代码以及调用方式

以下是无参函数的基本格式

技术分享图片
1 def outer(func):
2     def wrapper(*args,**kwargs):
3         # 新功能
4         res=func(*args,**kwargs)
5         return res
6     return wrapper
View Code

无参函数的语法糖是

@装饰器函数名称 必须写在被装饰函数的正上方

而且装饰器的定义,必须在被装饰函数的上方

也可以使用多个装饰器函数给同一个函数装饰

@装饰器1

@装饰器2

def func()

  pass

装饰顺序是先装饰器2给func装饰,然后是装饰器1

调用的时候是装饰器1先执行,然后是装饰器2的代码,然后是func()

有参装饰器模板

技术分享图片
def m_outter(file):
    def outter(func)
        def wrapper(*args,**kwargs):
            #函数体代码
            res=func(*args,**kwargs)
            return res
        return wrapper
    return outter
View Code

上面是有参装饰器模板,使用m_outter函数给内部装饰器进行传值,

如果内部wrapper()需要借助外部函数给其传值,则使用有参装饰器,

有参数装饰器的语法糖

@m_ouuter(参数)

func  #被装饰函数

 

DAY 13 开放封闭原则

原文:https://www.cnblogs.com/MrPotato-Head/p/10272540.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!