Python调用自定义函数help时报NameError名称未定义问题求解
问题根因
出现NameError: name 'least_difference' is not defined的核心原因是:你要查询的least_difference函数没有被加载到当前Python解释器的运行命名空间中,解释器找不到对应的函数对象,因此无法读取它的docstring。
常见触发场景
- 你把代码保存为
.py脚本文件后,直接打开了全新的Python交互式终端,没有先执行该脚本加载函数定义 - 你在交互式终端内逐行写代码时,还没有输入完成
least_difference的全部定义代码,就提前执行了help()语句 - 你在IDE中编写完代码后,没有运行整个脚本加载函数,就直接在IDE自带的交互控制台调用help
正确操作方法
场景1:代码已保存为独立脚本(假设文件名为diff_calc.py)
- 打开终端进入脚本所在的文件夹,执行
python -i diff_calc.py,该命令会先运行脚本内容加载所有函数/变量,再自动进入交互式模式 - 在
>>>提示符后输入help(least_difference),即可正常查看你写的docstring内容
场景2:直接在交互式终端写代码
- 先完整输入
least_difference的全部定义代码,直到函数定义完成回到>>>提示符 - 再执行
help(least_difference)即可
你写的函数docstring本身符合Python规范,不存在格式问题,只要函数加载成功就能被help正常识别。
内容的提问来源于stack exchange,提问作者Sachin K
相关产品推荐
相关产品推荐

