Python中@修飾符的做用。

'@'符號用做函數修飾符是python2.4新增長的功能,修飾符必須出如今函數定義前一行,不容許和函數定義在同一行。也就是說@A def f(): 是非法的。 只能夠在模塊或類定義層內對函數進行修飾,不容許修修飾一個類。一個修飾符就是一個函數,它將被修飾的函數作爲參數,並返回修飾後的同名函數或其它可調用的東西。python

例如:函數

    def test02(a):
    print'test02'

    @test02
    def test(a,b):
       print 'test'
       print a+b

結果:ui

在Python官方文檔中解釋不少,可是看到代碼就會很是清晰spa

'@dec2
@dec1
def func(arg1, arg2, ...):
    pass
This is equivalent to:

def func(arg1, arg2, ...):
    pass
func = dec2(dec1(func))

Python @property屬性 能夠將定義的函數當作屬性來訪問,提供更加友好的訪問方式。code

相關文章
相關標籤/搜索