我想在python中这样做:
(lambda: ... some code ...).valueHandling(...some parameters)
也就是说,我想用一个名为valueHandling
的新方法扩展类型function
。
我试过不同的方法,比如:
(一)
def valueHandling(self):
...
function.valueHandling=valueHandling
(二)
function.__class__.__dict__['valueHandling']=valueHandling
3)等
都没用。。。 有办法吗?向函数中添加一个方法,以便所有“lambda”都能响应该方法?你知道吗
谢谢
CPython不允许这样:
(如果您尝试使用
.__dict__
方法…)这是因为这些类型是用C语言实现的,以灵活性换取速度。你知道吗
您可以设置单个(function/lambda/etc…)对象的属性:
您不能对所有函数执行此操作-必须手动将其添加到每个函数中。你知道吗
您可以编写一个短包装,然后
mylambda(lambda x: ...)
:相关问题 更多 >
编程相关推荐