python - 实例方法作为函数对象
问题描述
我需要将实例方法作为参数传递给函数:
class C(object):
def m(self):
print("m",self)
def f(l,b):
for z in l:
b(z)
x = C()
f([x], lambda c: c.m())
有没有比这个更好的方法lambda
?
看起来这f([x], C.m)
也有效,但这是意外还是官方功能?
解决方案
你可以这样做:
f([x], C.m)
这里,C.m
是没有实例的方法。它和你的 lambda 做同样的事情。这绝对是官方支持的功能。
推荐阅读
- django - Django updateView 中的 NoReverseMatch 错误
- python - 火车中的平行坐标图
- python - 如何使用 tf.keras.Model.summary 查看父模型中的子模型层?
- google-chrome - 在 Chrome 开发工具中缩放网页
- r - 更改位于 r 中 ggplot 上的 png 的大小
- c-minus-minus - 将数组发送到 BACI 中的函数 (C--)
- python - 轮廓旋转后OpenCV将不规则轮廓区域复制到另一张图像
- c# - LINQ 查询在 C# 中使用实体框架获取单列和单行值而不使用 Where
- arrays - 将 for 循环输出到数组中
- javascript - 如何以角度 4 加载特定路线的脚本