国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python裝飾器模式定義與用法分析

2020-02-15 22:40:58
字體:
來源:轉載
供稿:網友

本文實例講述了Python裝飾器模式定義與用法。分享給大家供大家參考,具體如下:

裝飾器模式定義:動態地給一個對象添加一些額外的職責。

在Python中Decorator mode可以按照像其它編程語言如C++, Java等的樣子來實現,但是Python在應用裝飾概念方面的能力上遠不止于此,Python提供了一個語法和一個編程特性來加強這方面的功能。

首先需要了解一下Python中閉包的概念:如果在一個內部函數里,對在外部作用域(但不是在全局作用域)的變量進行引用,那么內部函數就被認為是閉包(closure)。

def makeblod(fn):  def wrapped():    return '<b>'+fn()+'</b>'  return wrappeddef makeitalic(fn):  def wrapped():    return '<i>'+fn()+'</i>'  return wrapped@makeblod@makeitalicdef hello():  return 'hello world'print hello()

運行結果:

<b><i>hello world</i></b>

def deco(arg):  def _deco(func):    def __deco():      print "before %s called [%s]." % (func.__name__, arg)      func()      print "after %s called [%s]." % (func.__name__, arg)    return __deco  return _deco@deco("mymodule")def myfunc():  print "myfunc() called."myfunc()

運行結果:

before myfunc called [mymodule].
myfunc() called.
after myfunc called [mymodule].

關于閉包學習可參考:https://www.jb51.net/article/54498.htm

更多關于Python相關內容可查看本站專題:《Python數據結構與算法教程》、《Python Socket編程技巧總結》、《Python函數使用技巧總結》、《Python字符串操作技巧匯總》及《Python入門與進階經典教程》

希望本文所述對大家Python程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 博白县| 霸州市| 绥宁县| 霍城县| 五家渠市| 恩平市| 大丰市| 九寨沟县| 南通市| 天柱县| 砚山县| 洛浦县| 五家渠市| 平南县| 广饶县| 广安市| 延安市| 濉溪县| 天气| 阿鲁科尔沁旗| 东丽区| 盐源县| 诸城市| 庆阳市| 万宁市| 姚安县| 七台河市| 乐至县| 苍溪县| 昆明市| 隆化县| 宁晋县| 永清县| 基隆市| 民勤县| 汶上县| 同心县| 姜堰市| 米易县| 广德县| 南丹县|