Python中的裝飾器用法詳解

字號(hào):


    本文實(shí)例講述了Python中的裝飾器用法。分享給大家供大家參考。具體分析如下:
    這里還是先由stackoverflow上面的一個(gè)問(wèn)題引起吧,如果使用如下的代碼:
    復(fù)制代碼 代碼如下:@makebold
    @makeitalic
    def say():
    return "Hello"
    打印出如下的輸出:
    <b><i>Hello<i></b>
    你會(huì)怎么做?最后給出的答案是:
    復(fù)制代碼 代碼如下:def makebold(fn):
    def wrapped():
    return "<b>" + fn() + "</b>"
    return wrapped
    def makeitalic(fn):
    def wrapped():
    return "<i>" + fn() + "</i>"
    return wrapped
    @makebold
    @makeitalic
    def hello():
    return "hello world"
    print hello() ## 返回 <b><i>hello world</i></b>
    現(xiàn)在我們來(lái)看看如何從一些最基礎(chǔ)的方式來(lái)理解Python的裝飾器。