问题标签 [functools]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 动态创建的方法和装饰器,得到错误 'functools.partial' 对象没有属性 '__module__'
我目前正在使用 EndpointsModel 为我在 AppEngine 上的所有模型创建一个 RESTful API。由于它是 RESTful,这些 api 有很多我想避免的重复代码。
例如:
我想让它们变得通用。所以我尝试向类动态添加方法。到目前为止我已经尝试过:
但我明白了,我认为这是因为's 装饰器和部分装饰器'functools.partial' object has no attribute '__module__' exception.
之间存在一些冲突。endpoints.method
但不知道如何避免它。
相关文章:
python - Python:多参数函数的组合/无/ functools
致力于编写一个看似简单的函数来查找事物的累积。它非常抽象,它的签名是这样的:
关于这个问题的更多信息:
“Accumulate 将相同的参数 term 和 n 作为总和和乘积作为参数,以及一个组合器函数(两个参数),它指定如何将当前项与前面项的累加组合,以及一个指定什么的起始值用于开始累积的基础值。” ——来自加州大学伯克利分校 CS61A 2013 年秋季,John DeNero
"Combiner" 是指从 "start" 到 "n" 的术语将被累加的方式(可以是 add、sub、mul 等)。组合器最多需要 2 个参数。
“术语”是指应用于以“start”开头并以“n”结尾的每个术语的函数。这可能意味着取每一项的平方、sqrt、n%//2。
我想在不必使用 functools.reduce 的情况下解决这个问题。
我知道我必须制作一个函数组合循环,但这是让我感到困惑的部分。然后,我必须让每个函数接受两个参数:旧累积和当前项。
我已经为此工作了 2 天,并且把自己搞糊涂了,所以我的代码搞砸了。有什么建议么?
“start+now+1”是指我不能开始在 term(n) 上执行组合器功能,直到我至少有 n 项。但是后来我变得困惑,因为我必须在存储旧总和并更新它的同时继续组合最后两个值。
python - functools.partial 和生成器
我正在尝试执行以下操作:
那里有什么问题?
python - python mock:@wraps(f) 问题
我想测试我写的一个简单的装饰器:
它看起来像这样:
然后我使用 python-mock 对其进行测试:
但它反击:
我知道functools.wraps()
只是一个辅助包装器。所以如果我把它拿出来测试就可以了。
我可以让 Mock 与 functools.wraps() 一起玩吗?
Python 2.7.3
python - 如何测试 functools.partial 生成预期的函数对象
当从一个 API 转到另一个 API 时,有时在每个 API 中的相似关键字之间进行映射会很有帮助,允许一个控制器 API 灵活地分派到其他库,而无需用户在后台对不同 API 大惊小怪。
假设某个库 ,other_api
有一个名为 的方法"logarithm"
,并且 base 的关键字参数是我需要从我的代码中分解出来的东西,比如"log_base_val"
; 所以要使用它,other_api
我需要输入(例如):
考虑一个这样的玩具类:
使用Foo
,我可以映射一些其他 API,其中始终调用此参数base
,如下所示:
并且ln
在逻辑上等价于 (with log_base_val=math.e
in kwargs
, from functools
):
但是,通过调用手动绑定相同的参数functools
会导致不同的函数对象:
因此测试f1 == f2
不会按预期成功:
所以问题是:测试参数绑定函数是否产生正确的输出函数对象的规定方法是什么?
python - 动态生成 Pandas 视图
我有几个类都引用相同的熊猫数据框,但只有部分数据框与每个类相关。我还希望在不使用高级索引的情况下轻松访问相关行,因为由于索引中的数字级别,它会变得重复。因此,我编写了生成部分函数的代码,以便每个类都可以查看其切片。
但是,我希望引用不必看起来像 foo.x()[date],而是看起来像 foo.x[date]。
结果,我创建了一个装饰器来包装函数并返回值。
我担心的是我不会总是获得数据框的当前状态。
这是实现我的目标的正确方法吗?
python - 修复装饰器参数
我有以下第三方装饰器:
我想制作另一个装饰器 ,@my_retry
它类似于@retry
,但具有固定参数。
我尝试过使用functools.partial
:
但是当我使用新的装饰器时,我得到了以下异常:
我究竟做错了什么?
python - 有没有办法将函数转换为接受在函数之前评估的可调用对象?
假设我有一个字符串列表:
我想使用一些函数将它们与特定的小写字符串进行比较foo
:
有没有办法改变foo
接受在bar
评估 foo 之前评估的可调用对象?所以我可以写这样的东西:
python - Python:functools,方法的包装装饰器:使用“?”时使 ipython 返回正确的定义
我正在使用 functools 制作一个装饰器,它允许我记录方法调用的详细信息。
我在这里得到了很多帮助来编写它……它不是我自己的,我仍在学习它是如何工作的……
我经常使用 ipython,当我使用时:
这是我的问题线...除了我还没有写文档字符串...:|
我希望是:
包装:
更新:在 ipython 中我这样做是为了看看发生了什么,但它还没有帮助我..
python - 将按钮信号绑定到 Qt 中的插槽所需的另一种解决方案
我正在尝试Slicer
使用 qt 在 Python 中开发一个模块。我有一个按钮列表(QPushButton
),我希望它们的每个"clicked"
信号都绑定到相同的方法,但传递不同的参数(这只是为了知道按下了哪个按钮)。
我正在寻找的是这样的:
我已经使用了这里和这里建议的所有三种方式,但我有不同的问题:
解决方案一团糟,
QSignalMapper
因为我不能使用 PyQt/PySide。lambda 解决方案使我的代码始终打印最后一个按钮的文本,无论按下哪个按钮。我写了类似的东西:
/li>部分解决方案实现为:
但我收到以下错误:
/li>
现在我正在使用一个可怕的不同书面方法列表,所以我的丑陋解决方案有效,是:
我希望我的问题以前没有被问过,你可以帮助我。
谢谢!