问题标签 [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 - 不是 Python 函数
我正在尝试构建一个函数,该函数可以用作我正在映射的 RxPy 流的处理程序。我拥有的函数需要访问定义该变量的范围之外的变量,对我来说,这意味着我需要使用某种闭包。所以我到达 functools.partial 以关闭一个变量并返回一个部分函数,我可以将其作为观察者传递给我的流。
但是,这样做会导致以下结果:
这是一些重现问题的示例代码:
问题似乎是我的部分函数False
在调用inspect.isfunction
.
如何使我的部分函数通过此检查?有没有办法轻松地将部分函数转换为“真实”函数类型?
python - 传递/更改作为另一个函数中的参数传递的函数的参数
我有一个奇怪的问题。我想传递/更改一个函数的参数,该函数本身作为参数传递给其他函数。有关更多详细信息,请参见下面的代码
因此,我通过 using将我的post_processing
方法及其所有参数传递给我,并将一个新变量传递给我的 post_processing 方法。但更可取的是 直接传递或赋值给变量to 。generic_method
functools's partial
attrval
attr_value
y
post_processing
我一直在寻找在运行时修改函数参数的方法。我在网上搜索,发现它们是inspect
python 中的一个库,它告诉你传递给函数的参数。这种情况下能用吗。
python - 在类中定义 python 装饰器的正确方法是什么?
我想要实现的是以下代码输出以下内容:
- 这里1
- 这里2
- Here3 argOne argTwo
我想知道我对 __call__ 的使用是否会以某种方式破坏 functools.wraps; 似乎这些论点在某些时候丢失了。
我想要实现的目标是可能的吗?
python - 如何将包装函数与 functools.partial 进行比较?
如果我将我的功能定义如下:
然后myfunc == myfunc
将返回True
但functools.partial(myfunc, arg2=1) == functools.partial(myfunc, arg2=1)
会回来False
。
出于单元测试的目的,是否有一种简单的方法来测试部分函数是否是我所期望的?
python - Total_ordering 和类继承
据我了解,total_ordering
装饰器functools
不能很好地与从有序类继承的类一起工作:它不会尝试定义比较函数,因为它们已经定义了。
看这个例子:
在所有测试中,只有涉及<
操作员的测试给出了预期的结果。
>
通过添加__gt__ = lambda *_ : NotImplemented
到类定义中,我可以使它们也能正常工作。另一方面,如果我为__le__
or添加类似的定义__ge__
,则相应的测试会因 (for __le__
) 而失败:
这使我相信这不是解决问题的正确方法。
因此,问题是:有没有一种适当的方法可以用 total_ordering 重新排序一个类?
(是的,我知道total_ordering
手工完成 's 的工作是微不足道的,而且我知道对于这个例子,定义一个无序namedtuple
的也是微不足道的。)
python - 忽略参数的 Python 对应部分
python中是否有“对应物” functools.partial
?
即我要避免的是写:
但我很想保留与编写时相同的属性(keyword-args、nice repr):
代替
我知道这样的东西很容易写,但我想知道是否已经有一种忽略参数的标准方法。
一个常见的用例是 Qts Signals and Slots。
python - python的部分内联调用吗?
也可以这样par
:
这par
:
等价?如果不是为什么?
python - 带有 functool.partial 绑定参数的 Python mock.patch.object 可能吗?
如何解决这个问题?用另一个签名修补对象方法(例如,附加参数。我尝试绑定可选参数,但这似乎不起作用。我不能在这里使用普通的猴子修补,因为修补的类在一个我无法以其他方式修补它的位置。
任何帮助表示赞赏。
调用上下文 mock.patch.object 时,我收到以下错误:
但是使用 None 作为第一个参数调用 my_len 可以按预期工作(打印输出 2)。
假设可以简单地使用猴子补丁,它可以工作,如果手动调用len并将实例作为第一个参数。但这当然是不希望的:
python - 通过自己的纯 Python impl 导入 functools 的好处?
我找到了这段代码并开始想,为什么不简单地将导入替换为自己的实现呢?使用 functools.partial 有什么(性能)好处吗?它是用纯 Python 还是本机代码实现的?