在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問(wèn)答/Python  C/ Python裝飾器是如何獲取被裝飾函數(shù)的參數(shù)的?

Python裝飾器是如何獲取被裝飾函數(shù)的參數(shù)的?

def debug(func):
    def wrapper(*args, **kwargs):  
        print "[DEBUG]: enter {}()".format(func.__name__)
        print 'Prepare and say...',
        return func(*args, **kwargs)
    return wrapper  

@debug
def say(something):
    print "hello {}!".format(something)

如題,debug怎么獲取something呢?debug只接收了func???連帶參數(shù)一起接收了嗎?

回答
編輯回答
有你在
# debug 返回的是函數(shù)wrapper 所以
@debug
def say(something):
    print "hello {}!".format(something)
# 等價(jià)于
debug(say)(something)
# 等價(jià)于
wrapper(something)
# 從 def wrapper(*args, **kwargs)可知,something傳遞到了*args中
2017年9月19日 22:00