深入理解Python的一个常见错误“TypeError: 'str' object is not callable”

相信大家在使用Python的过程中都遇到过这个错误。这个错误网上有很多文章都说了如何解决这个问题。基本的说法是:

  1. str(value) 是一个内建的系统函数,用于将一个数值型转换为字符串
  2. 用户仍然可以使用 str 进行变量定义,如 str = ‘hello’
  3. 在定义了str 变量后,由于名称相同,所以系统内建的 str(value) 函数会被解释成用户自定义的变量 str,从而导致报错:TypeError: ‘str’ object is not callable

根据以上的原因,只要删除原先的 str 变量问题就应该解决。然而事实上,很多时候问题仍存在。一些用户发现,问题程序在控制台可执行,但是在交互窗口却仍然有问题,如此文

这个问题很多文章都没有提到,经过笔者仔细观察发现,根本原因在于:交互窗口会记录历史的主变量,所以即使代码修改了,仍然会报错。知道了问题的原因,解决起来也简单,要么将过程变量清空,如在 Spyder 的操作台右键鼠标有清除变量的选项,要么直接重启一下交互环境即可。

发布了326 篇原创文章 · 获赞 94 · 访问量 19万+

猜你喜欢

转载自blog.csdn.net/weixin_43145361/article/details/104047984
今日推荐