年年のBlog

整天看什么母猪的产后护理,知识都学杂了hhhhhhh

Python(二):装饰器

原文链接:https://www.cnblogs.com/huangjm263/p/8136387.html

装饰器的本质:一个闭包函数

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


import time
def func1():  #被装饰的函数
    print('in func1')
def timmer(func):  #装饰器函数
    def inner():
        start = time.time()
        func()
        end = time.time()
        print(end - start)        
    return inner
func1 = timmer(func1)
func1()


import time
def timmer(func):  #装饰器函数
    def inner():
        start = time.time()
        func()
        end = time.time()
        print(end - start)
    return inner
@timmer   #语法糖   @装饰器函数名    #==> func1 = timmer(func1)
def func1():  #被装饰的函数
    print('in func1')
func1()
import time
def timmer(func):
    def inner(m):
        start = time.time()
        func(m)
        end = time.time()
        print(end - start)
    return inner
@timmer  #===>func1 = timmer(func1)
def func1(a):
    print(a)
func1(5)

import time
def timmer(f):  #装饰器函数
    def inner():
        start = time.time()
        ret = f()    #被装饰的函数
        end = time.time()
        print(end - start)
        return ret
    return inner
@timmer                #语法糖   @装饰器函数名
def func():             #被装饰的函数
    time.sleep(0.1)
    print('hello world')
    return '新年好'
# func = timmer(func)
ret = func()
print(ret)


阅读更多
文章标签: Python
个人分类: Python
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭