Python IDLE中已定义的函数调用时提示未定义是什么原因?
Python交互环境定义函数后调用报
NameError的解决方法 - 最常见的触发原因是未完成函数定义的闭合操作:
你使用的IDLE PyShell这类交互环境定义多行函数时,输完return base * height /2这一行之后,需要连续按两次回车键退出缩进编辑状态,交互环境才会确认函数定义完成,将函数注册到当前命名空间。如果没执行这个操作就直接输入调用代码,函数实际还没被正式定义,调用就会触发NameError。 - 其他可能的触发场景:
- 定义完函数后关闭了当前交互窗口,重新打开的新窗口没有之前的函数定义记录
- 定义函数时拼写错误,从你提供的代码来看这个概率极低
正确操作步骤
- 打开Python交互环境,输入
def area(base, height):后按回车,光标会自动缩进 - 输入缩进后的返回逻辑:
return base * height / 2
- 连续按两次回车,直到交互环境出现
>>>提示符,说明函数已经定义完成 - 此时输入
area(3,4)即可正常返回结果6.0
内容的提问来源于stack exchange,提问作者Kevin
相关产品推荐
相关产品推荐

