python中 @符號 表示修飾符

@  表示修飾符,可以在模塊或者類的定義層內對函數進行修飾。出現在函數定義的前一行,不允許和函數定義在同一行

 

def makebold(fn):
    def warp():
        return "<a>"+fn()+"<a>"
    return warp
def makeitalic(fn):
    def warp():
        return "<b>"+fn()+"<b>"
    return warp
@makebold         #這句話相當於makebold(test1),也就是把當前函數傳過去
def test1():
    return "test1"
 
@makeitalic
def test2():
    return "test2"
    
@makebold
@makeitalic
def test3():     #函數和裝飾器是倒着執行的,從下往上
    return "test3"
    
print(test1())
print(test2())
print(test3())

執行結果

<a>test1<a>
<b>test2<b>
<a><b>test3<b><a>

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章