- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
#!/usr/bin/python
from functools import wraps
def logged(func):
@wraps(func)
def with_logging(*args, **kwargs):
print func.__name__ + " was called"
return func(*args, **kwargs)
return with_logging
@logged
def f(x):
"""does some math"""
return x + x * x
我想知道 wraps
是否有对函数 f 的未修饰引用?当我尝试 dir(f)
修改后的版本
#!/usr/bin/python
from functools import wraps
def logged(func):
@wraps(func)
def with_logging(*args, **kwargs):
print func.__name__ + " was called"
return func(*args, **kwargs)
with_logging.undecorated = func
return with_logging
@logged
def f(x):
"""does some math"""
return x + x * x
f.undecorated
没有属性?我只是在遵循我过去使用装饰器所做的事情......
最佳答案
那里有对原始 f
的引用,但很难找到。
>>> f
<function f at 0x023F6DF0>
>>> f.func_closure[0].cell_contents
<function f at 0x023F6E30>
第一个是包装的f
,第二个是原始的f
,注意十六进制地址是不同的。
如果您需要访问原始的 f
,我建议您以不同的方式包装它:
def f(x):
"""does some math"""
return x + x * x
original_f = f
f = logged(f)
现在你有 f
和 original_f
,它们都可用。
关于python - functools.wraps 是否有未修饰的引用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11658611/
模块functools 引用reduce 定义在_functools 中。同时 _functools 指的是在 functools 中定义的 partial 我在尝试为猴子修补目的创建命名空间副本时遇
我有以下两个装饰器: 装饰器1: import functools def overrides(interface_class): print('interface_class:', inte
我有一个函数,我正在尝试制作它的部分版本,然后在 reduce 语句中应用该部分函数。 偏函数本身是有效的——因为我可以正常地用一组参数调用它,它会返回正确的答案。但是,如果在 reduce 下应用它
考虑以下代码: import functools import inspect class Foo: def foo_fn(self, hello, world): print
我正在尝试 pickle 一个 SortedListWithKey,我正在使用 functools 中的 cmp_to_key() 将比较函数转换为键函数。但是, cmp_to_key() 似乎使我的
考虑以下几点: from functools import partial def add(a, b, c): return 100 * a + 10 * b + c add_part = pa
我知道 collections.namedtuple 的存在和目的,但我注意到,至少在 IDLE (3.2.2) 中,这个工厂函数也在 functools: >>> import functools
我一直在使用 Python,我设置了以下代码情况: import timeit setting = """ import functools def f(a,b,c): pass g = fu
一.简单介绍: functools模块用于高阶函数:作用于或返回其他函数的函数。一般而言,任何可调用对象都可以作为本模块用途的函数来处理。 functools.parti
我在 Windows 上使用 Python 3.7 运行每个代码时都会发生此错误: Traceback (most recent call last): File "test.py", line
以下是我的代码片段。当我运行该程序时,出现以下错误。 @functools.total_ordering AttributeError: 'module' object has no attrib
回答一个问题时,我注意到我不知道如何在reduce中执行append后返回列表,例如 import functools futures = [1,2,3] records = functools.re
#!/usr/bin/python from functools import wraps def logged(func): @wraps(func) def with_loggin
是否可以在项目被逐出时为 functools.lru_cache 定义回调?在回调中,缓存的值也应该存在。 如果没有,也许有人知道支持逐出和回调的轻量级类字典缓存? 最佳答案 我将发布我使用的解决方案
我在使用 functools.partial 时遇到问题。 我的代码: selected_words = ['awesome', 'great', 'fantastic', 'amazing', 'l
我有以下代码: import functools import random import inspect def myfirst(a, b): return a + b def myseco
我想要一个可以使用 functools.lru_cache 的函数,但默认情况下不能。我正在寻找一种方法来使用可用于禁用 lru_cache 的函数参数。目前,我有两个版本的函数,一个有 lru_ca
我目前面临“functools.reduce(operator.iadd,...)”改变原始输入的问题。例如 我有一个简单的数据框 df = pd.DataFrame([[['A', 'B']], [
在 Python Cookbook 部分 9.5. Defining a Decorator with User Adjustable Attributes我一直难以理解以下代码中 functools
我发现 functools.partial 有很多很棒的用例。 但是,我发现需要定义我称之为 partial_right 的东西。它就像部分的,但从“右边”绑定(bind)非 kwargs。 我的问题
我是一名优秀的程序员,十分优秀!