use*_*936 4 python function defined nameerror
我有一个简单的功能,我将称之为myFunction.它需要两个参数,对它们执行一些计算,并返回结果.
我也有一个类,MyClass它有一个构造函数,其头部如下:
__init__(self, bar, fun=myFunction):
Run Code Online (Sandbox Code Playgroud)
当我尝试在这个类中运行任何东西时,我收到以下错误:
MyClass
def __init__(self, bar, fun=myFunction):
NameError: name 'myFunction' is not defined
Run Code Online (Sandbox Code Playgroud)
如果我删除这个类,我可以在Python Shell中使用myFun,那么这笔交易是什么?
Ned*_*der 11
你没有显示实际的代码,所以很难确定,但我打赌myFunction是后定义的MyClass.__init__定义方法时会计算默认值表达式,因此myFunction必须在该点定义.以后定义为时已晚.