深入理解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 的操作台右键鼠标有清除变量的选项,要么直接重启一下交互环境即可。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值