Python_装饰器函数

装饰器的本质:

  一个闭包函数

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

装饰器原理:

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())

开放封闭原则

1、对扩展是开放的

  为什么要对扩展开放呢?

  我们说,任何一个程序,不可能在设计之初就已经想好了所有的功能并且未来不做任何更新和修改。所以我们必须允许代码扩展、添加新功能。

2、对修改是封闭的

  为什么要对修改封闭呢?

  就像我们刚刚提到的,因为我们写的一个函数,很有可能已经交付给其他人使用了,如果这个时候我们对其进行修改,很有可能影响其他已经在使用该函数的用户。

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

转载于:https://www.cnblogs.com/Chong-Yang/p/8136652.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值