NameError:名称<'函数名称'>未定义:解开后无法识别所调用函数内部的函数

时间:2019-07-31 16:02:30

标签: python-3.x pickle dill

我在一个类中有两个函数,一个函数在其中调用其他函数。我使用莳萝腌制它,并在其他代码中使用pkl文件。 虽然一个功能(例如A)起作用,但功能B(调用A)却不起作用。

代码:

class ranfunc(object):

    def s(a,b):
        return a+b

    def d(x,y,z):
        return x - s(y,z)

创建pkl文件

with open ('Pickle.pkl','wb') as file:
    dill.dump(ranfunc,file)

在其他代码中使用

with open ('Pickle.pkl','rb') as file:
    a=dill.load(file)

这有效:

a.s(1,2) #returns 3

这不是:

a.d(3,2,1) #NameError: name 's' is not defined. Should return 0

0 个答案:

没有答案