Python 装饰器工作原理解析
生活随笔
收集整理的這篇文章主要介紹了
Python 装饰器工作原理解析
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
#!/usr/bin/env?python
#coding:utf-8"""
裝飾器實例拆解
"""def?login00(func):print('00請通過驗證用戶!')return?funcdef?tv00(name):print('00你的用戶是:%s'?%name)#?裝飾器的精簡工作原理解釋:tv?=?login00(tv00)?#?返回tv函數的對象,賦值給tvtv('yh00')?#?調用執行tv函數#?魔方版裝飾器def?login01(func):print('01請通過驗證用戶!')return?func@login01
def?tv01(name):print('01你的用戶是:%s'?%name)tv01('yh01')#?存在一個問題,調用執行tv函數前,會執行login函數的print語句#?改進版裝飾器def?login02(func):def?inner(arg):print('02請通過驗證用戶!')func(arg)return?innerdef?tv02(name):print('02你的用戶是:%s'?%name)tv02?=?login02(tv02)?#?返回inner函數的對象,賦值給tv02;并把?tv02函數的對象?傳遞給?login02函數的形參?functv02('yh02')?#?調用執行tv02函數,把實參:yh02?傳給?形參arg;執行tv02('yh02')#?改進?魔方版?版裝飾器def?login03(func):def?inner(arg):print('03請通過驗證用戶!')func(arg)return?inner@login03
def?tv03(name):print('03你的用戶是:%s'?%name)tv03('yh03')
轉載于:https://blog.51cto.com/52python/1831644
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的Python 装饰器工作原理解析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: xtrabackup增量备份mysql
- 下一篇: jQuery加载一个html页面到指定的