闭包closures
函数套函数
import time
def hl(func):
    def wrap():
        begin = int(time.time())
        print begin
        func()
        end = int(time.time())
        print end
        print "cost:",end - begin
    return end - begin
return wrap
def t():
    time.sleep(1)
     hl(t)()

装饰器
函数执行前扩展一些函数、执行后扩展一些函数
import time
def hl(func):
    def wrap():
        begin = int(time.time())
        print begin
        func()
        end = int(time.time())
        print end
        print "cost:",end - begin
        return end - begin
    return wrap
@hl
def t():
    time.sleep(1)
    t()

##############################
def mb(func):
    def wrap():
        return '<b>' + func() + '</b>'
    return wrap
def mi(func):
    def wrap():
        return '<i>' + func() + '</i>'
    return wrap
@mb
@mi
def hello():
return('hello')
print(hello())

results matching ""

    No results matching ""