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

首頁 > 編程 > Python > 正文

淺談解除裝飾器作用(python3新增)

2020-02-15 23:13:40
字體:
供稿:網(wǎng)友

一個裝飾器已經(jīng)作用在一個函數(shù)上,你想撤銷它,直接訪問原始的未包裝的那個函數(shù)。

假設(shè)裝飾器是通過 @wraps 來實現(xiàn)的,那么你可以通過訪問 wrapped 屬性來訪問原始函數(shù):

>>> @somedecorator>>> def add(x, y):...  return x + y...>>> orig_add = add.__wrapped__>>> orig_add(3, 4)7>>>

如果有多個包裝器:

In [588]: from functools import wrapsIn [589]: def decorator1(func):  ...:  @wraps(func)  ...:  def wrapper(*args, **kwargs):  ...:   print ('Decorator 1')  ...:   return func(*args, **kwargs)  ...:  return wrapper  ...: In [590]: def decorator2(func):  ...:  @wraps(func)  ...:  def wrapper(*args, **kwargs):  ...:   print ('Decorator 2')  ...:   return func(*args, **kwargs)  ...:  return wrapper  ...: In [591]: @decorator1  ...: @decorator2  ...: def add(x, y):  ...:  return x+y  ...: In [592]: add(2,3)Decorator 1Decorator 2Out[592]: 5In [593]: add.__wrapped__(2, 3)Decorator 2Out[593]: 5In [594]: add.__wrapped__.__wrapped__(2,3)Out[594]: 5

參考:Python Cookbook

以上這篇淺談解除裝飾器作用(python3新增)就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持武林站長站。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 苍南县| 云南省| 军事| 济南市| 兴安盟| 广南县| 上蔡县| 左云县| 文昌市| 石阡县| 襄垣县| 榕江县| 杭锦旗| 鄄城县| 会东县| 麟游县| 保山市| 武清区| 丹凤县| 屏东县| 江孜县| 临安市| 巩留县| 广州市| 泰顺县| 苗栗县| 襄城县| 乌什县| 东至县| 富民县| 闵行区| 浙江省| 宁津县| 永寿县| 涞源县| 特克斯县| 陵水| 木兰县| 贵州省| 同德县| 滁州市|