Python中的裝飾器用法詳解

字號:


    本文實例講述了Python中的裝飾器用法。分享給大家供大家參考。具體分析如下:
    這里還是先由stackoverflow上面的一個問題引起吧,如果使用如下的代碼:
    復制代碼 代碼如下:@makebold
    @makeitalic
    def say():
    return "Hello"
    打印出如下的輸出:
    <b><i>Hello<i></b>
    你會怎么做?最后給出的答案是:
    復制代碼 代碼如下: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)在我們來看看如何從一些最基礎的方式來理解Python的裝飾器。