深入理解python的裝飾器

來源:互聯網
上載者:User

深入理解python的裝飾器
Python(英語發音:/paθn/), 是一種物件導向、解釋型電腦程式設計語言,由Guido van Rossum於1989年底發明,第一個公開發行版發行於1991年,Python 原始碼同樣遵循 GPL(GNU General Public License)協議。Python文法簡潔而清晰,具有豐富和強大的類庫。它常被暱稱為膠水語言,能夠把用其他語言製作的各種模組(尤其是C/C++)很輕鬆地連接在一起。常見的一種應用情形是,使用Python快速產生程式的原型(有時甚至是程式的最終介面),然後對其中有特別要求的部分,用更合適的語言改寫,比如3D遊戲中的圖形渲染模組,效能要求特別高,就可以用C/C++重寫,而後封裝為Python可以調用的擴充類庫。需要注意的是在您使用擴充類庫時可能需要考慮平台問題,某些可能不提供跨平台的實現。 那麼我們要如何來理解python的裝飾器呢? 先看個簡單的小例子:

def printB(fn):   def wrapped():       return "printB" +fn()+"printb"   return wrappeddef printLi(fn):   def wrapped():       return "printLi" +fn()+"printli"   return wrapped@printB@printLidef hello():   return "hello world"print hello()#printB printLi  hello world  printli  printb

 

 這是是個簡單的裝飾器實現,要理解裝飾器首先要理解python中對象的概念,這裡函數就可以看作是對象,進行賦值等各種操作,你可以在函數中再去定義函數,把函數當做參數來傳遞。 在裝飾器的進階用法中還可以在裝飾器函數裡面傳入參數,甚至是預設參數,更全面的裝飾裝飾器,這種裝飾器的概念類似於AOP編程思想,你理解了多少? 如果想深入體驗LINUX系統的新手,也可以先下載一個方德Linux軟體中心試用一下。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.