python基础-装饰器

2018-10-24  本文已影响0人  爱跳的兔子

记录自己学习py基础的点点滴滴

装饰器

def woami():
    print('xiaoyang')

f = woami
f()
xiaoyang
woami.__name__
'woami'
woami.__name__
'woami'
def log(func):
        def new(*args, **kw):
                print('call %s:'  % func.__name__)
                return func(*args, **kw)
        return new
@log
def woami():
        print('xiaoyang')

woami()
call woami():
xiaoyang
woami = log(woami)
woami.__name__
'new'

很神奇对吧,别慌,我们接着看,再来修饰一个函数玩玩吧

@log
def again():
        print('又来~')

again()
call again:
又来

可以看到,我们之前定义好的返回函数log,在定义任何函数之前@一下,就可以起到修饰的作用了。很好,掌握了装饰器的初级用法,很开心。。。

上一篇下一篇

猜你喜欢

热点阅读