国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 襄樊市| 桐梓县| 江津市| 突泉县| 龙江县| 仁布县| 邯郸市| 芒康县| 全椒县| 高州市| 武定县| 高碑店市| 都江堰市| 满洲里市| 绥滨县| 灵武市| 白水县| 庄浪县| 思茅市| 云林县| 田林县| 临泉县| 通海县| 青冈县| 灵台县| 临朐县| 永善县| 鹤庆县| 贵阳市| 申扎县| 修文县| 泸定县| 大冶市| 溧水县| 宜都市| 宽甸| 临沂市| 临夏县| 青浦区| 深州市| 漳平市|