Function pickling¶
REFERENCE: The python cookbook.
-
sage.misc.fpickle.
call_pickled_function
(fpargs)¶
-
sage.misc.fpickle.
code_ctor
(*args)¶ EXAMPLES:
This indirectly tests this function.
sage: def foo(a,b,c=10): return a+b+c sage: sage.misc.fpickle.reduce_code(foo.__code__) (<cyfunction code_ctor at ...>, ...) sage: unpickle_function(pickle_function(foo)) <function foo at ...>
-
sage.misc.fpickle.
pickleMethod
(method)¶ support function for copyreg to pickle method refs
-
sage.misc.fpickle.
pickleModule
(module)¶ support function for copyreg to pickle module refs
-
sage.misc.fpickle.
pickle_function
(func)¶ Pickle the Python function func. This is not a normal pickle; you must use the unpickle_function method to unpickle the pickled function.
NOTE: This does not work on all functions, but does work on ‘surprisingly’ many functions. In particular, it does not work on functions that includes nested functions.
INPUT:
func – a Python function
OUTPUT:
a string
EXAMPLES:
sage: def f(N): return N+1 ... sage: g = pickle_function(f) sage: h = unpickle_function(g) sage: h(10) 11
-
sage.misc.fpickle.
reduce_code
(co)¶ EXAMPLES:
sage: def foo(N): return N+1 sage: sage.misc.fpickle.reduce_code(foo.__code__) (<cyfunction code_ctor at ...>, ...)
-
sage.misc.fpickle.
unpickleMethod
(im_name, __self__, im_class)¶ support function for copyreg to unpickle method refs
-
sage.misc.fpickle.
unpickleModule
(name)¶ support function for copyreg to unpickle module refs
-
sage.misc.fpickle.
unpickle_function
(pickled)¶ Unpickle a pickled function.
EXAMPLES:
sage: def f(N,M): return N*M ... sage: unpickle_function(pickle_function(f))(3,5) 15