functools相关内容

functools.partial 类方法

我正在尝试使用另一个更通用的类方法来定义一些类方法,如下所示: class RGB(object):def __init__(self, red, blue, green):super(RGB, self).__init__()self._red = 红色self._blue = 蓝色self._green = 绿色def _color(自我,类型):返回 getattr(self, type) ..
发布时间:2021-12-23 09:09:01 Python

使@lru_cache 忽略一些函数参数

如何制作 @functools.lru_cache 装饰器忽略了一些关于缓存键的函数参数? 例如,我有一个如下所示的函数: def find_object(db_handle, query):#(省略代码)返回结果 如果我像这样应用 lru_cache 装饰器,db_handle 将包含在缓存键中.因此,如果我尝试使用相同的 query 但不同的 db_handle 调用该函数,它将再次 ..
发布时间:2021-12-20 11:23:20 Python

用装饰器记录执行时间

尝试了一段时间失败后,我正在这个神奇的网站上寻求帮助.现在解决我的问题:我想创建一个装饰器,将一个函数的执行时间( 在该函数执行期间)写到以下日志文​​件中: @log_time("log.txt",35)def some_function(...):...返回结果 和 来自functools导入包装的 def log_time(path_to_logfile,interval):.. ..
发布时间:2021-05-30 20:27:18 Python

为Ray actor功能实现缓存

我的目标是使下面的代码在大约0.3而不是0.5秒的时间内执行.我试过在 foo functools.lru_cache , toolz.functoolz.memoize 和 kids.cache.cache 中的装饰器/code>,但没有一个起作用(错误消息或未正确执行).我该怎么做才能使这项工作成功? 导入ray@ ray.remoteFoo类:def foo(self,x):print(“ ..
发布时间:2021-04-21 18:44:21 Python

Python functools.lru_cache逐出回调或等效项

是否可以在逐出项目时为functools.lru_cache定义回调?在回调中,还应该存在缓存的值. 如果没有,也许有人知道像轻量级的类似dict的缓存,该缓存支持逐出和回调? 解决方案 我将发布用于以后参考的解决方案.我使用了一个名为cachetools的软件包( https://github.com/tkem/cachetools ).您可以简单地通过$ pip install ..
发布时间:2020-06-15 19:27:47 Python

itertools.accumulate()与functools.reduce()

在Python 3.3中, itertools.accumulate() 反复对提供的可迭代对象执行加法运算,现在可以将函数参数用作参数;这意味着它现在与 functools.reduce() 重叠.粗略地看,两者之间的主要区别现在似乎是: accumulate()默认为求和,但不允许您显式提供额外的初始条件,而reduce()没有默认为任何方法,但允许您提供用于1/0元素序列的初始条件,和 ..
发布时间:2020-06-15 19:27:37 Python

functools.partial和类似的lambda之间的区别?

在Python中,假设我有一个函数f,我想将它与一些辅助参数一起传递(为简单起见,它只是第一个保留变量的参数). 这两种方式(如果有)之间有什么区别? # Assume secondary_args and secondary_kwargs have been defined import functools g1 = functools.partial(f, *secondary ..
发布时间:2020-06-15 19:27:25 Python

使@lru_cache忽略某些函数参数

如何使 @functools.lru_cache 装饰器忽略某些内容关于缓存密钥的函数参数? 例如,我有一个看起来像这样的函数: def find_object(db_handle, query): # (omitted code) return result 如果我像这样应用lru_cache装饰器,则db_handle将包含在缓存键中.结果,如果我尝试使用相同的 ..
发布时间:2020-06-15 19:27:23 Python