Python_装饰器函数

装饰器的本质:

  一个闭包函数闭包

装饰器的功能:在不修改原函数及其调用方式的状况下对原函数功能进行扩展函数

装饰器原理:spa

def func():
    print('xxx')

def outer(f):           # outer(f) = outer(func)
    def inner():
        set = f()       # set = func()
        return set
    return inner        # func() = inner()

func = outer(func)
func()

xxx

装饰器完整形态:设计

def outer(flge):
    def inner(*args, **kwargs):
        set = inner(*args, **kwargs)
        return set
    return inner

@outer
def func():
    pass

print(func())

开放封闭原则

一、对扩展是开放的code

  为何要对扩展开放呢?blog

  咱们说,任何一个程序,不可能在设计之初就已经想好了全部的功能而且将来不作任何更新和修改。因此咱们必须容许代码扩展、添加新功能。class

二、对修改是封闭的原理

  为何要对修改封闭呢?扩展

  就像咱们刚刚提到的,由于咱们写的一个函数,颇有可能已经交付给其余人使用了,若是这个时候咱们对其进行修改,颇有可能影响其余已经在使用该函数的用户。程序

  装饰器完美的遵循这个开放封闭原则。

相关文章
相关标签/搜索