Jupyter Notebook使用min()函数报错但PyCharm运行正常问题咨询
问题成因
- Jupyter Notebook的运行内核会缓存当前会话所有已定义的变量,你在本次会话的之前操作中,已经将Python内置的
min函数赋值为了一个浮点数(比如此前运行过min = 0.5这类代码),导致后续调用min()时实际是试图调用一个浮点数,触发类型错误。 - PyCharm每次执行代码都会启动全新的独立Python进程,不存在历史变量覆盖的问题,因此代码可以正常运行。
解决方案
- 快速修复当前报错:在你现有代码的最开头添加如下代码,删除被错误赋值的自定义变量,恢复内置函数的引用:
del min # 若后续运行发现max、sum也报同类错误,可对应添加del max、del sum
执行上述代码后再运行你的原有代码,即可正常输出结果。
- 永久规避该问题:后续编写代码时,不要使用
min、max、sum、list、str等Python内置函数/类型名作为自定义变量的名称,避免覆盖内置功能。 - 如果修改后仍有报错,直接重启Jupyter内核:点击界面顶部菜单栏「Kernel」→「Restart」,清空所有历史缓存变量后再运行代码即可。
内容的提问来源于stack exchange,提问作者rizwan rasheed
相关产品推荐
相关产品推荐

