Python实现装饰模式的一段代码

本文介绍了一种使用Python实现装饰模式的方法。通过一个简单的例子展示了如何使用装饰器来增强函数的功能,同时保持函数原有的属性,如名称等。此方法在不修改原始函数的基础上增加了额外的行为。
# 实现装饰模式的一段代码
import functools
def log(func):
    @functools.wraps(func)
    def wrapper(*args,**kw):
        print('call %s()' % func.__name__)
        return func(*args,**kw)
    return wrapper

# 把@log放到now()函数的定义处,相当于执行了语句:now = log(now)
@log
def now():
    print('2015-3-25')
now()
print(now.__name__)

结果:

call now()
2015-3-25
now

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值