я должен мариновать массив объектов, как это:Python, cPickle, травление лямбда-функции
import cPickle as pickle
from numpy import sin, cos, array
tmp = lambda x: sin(x)+cos(x)
test = array([[tmp,tmp],[tmp,tmp]],dtype=object)
pickle.dump(test, open('test.lambda','w'))
и это дает следующее сообщение об ошибке:
TypeError: can't pickle function objects
Есть ли способ обойти это?
Кажется, это странная вещь. Что такое прецедент? – Aya
@Aya lambdify в SymPy очень удобно создавать лямбда-функции. И я хочу оценить их с помощью Cython. Вы можете [ссылаться на этот другой вопрос для получения дополнительной информации] (http://stackoverflow.com/questions/16295140/numerical-integration-over-a-matrix-of-functions-sympy-and-scipy) –
Ну, я дон не знаю много о Cython, но решение Martijn будет работать, только если Cython может импортировать файл Python, в котором определена функция 'tmp (x)'. – Aya