Ram*_*hum 8 python oop copy instance-method
似乎Python对实例方法有一些限制.
这对我来说是有问题的,因为我在一个非常面向对象的项目中工作,我在其中引用实例方法,并且使用了深度复制和酸洗.酸洗的事情主要由多处理机制完成.
什么是解决这个问题的好方法?我对复制问题做了一些丑陋的解决方法,但我正在寻找一个更好的解决方案来解决这两个问题.
有没有人有什么建议?
更新:
我的用例:我有一个小事件系统.每个事件都有一个.action属性,指向它应该触发的函数,有时该函数是某个对象的实例方法.
Jas*_*rff 15
您可以使用这样做copy_reg.pickle.在Python 2.6中:
import copy_reg
import types
def reduce_method(m):
return (getattr, (m.__self__, m.__func__.__name__))
copy_reg.pickle(types.MethodType, reduce_method)
Run Code Online (Sandbox Code Playgroud)
这不存储方法的代码,只是它的名称; 但这在普通情况下会正常工作.
这使酸洗和复印工作都有效!
| 归档时间: |
|
| 查看次数: |
3291 次 |
| 最近记录: |