反复检查几遍之后,发现语句没有错误。在控制台输入相同语句,发现可以顺利执行输出正确结果。发现是因为前面的代码将str已经定义为一个普通变量,因此这里调用内置函数str()是无效的,会仍然认为是一个变量,自然就会提示是 not callable。也就是说 str() 是自带的内置函数,不可以在希望使用字符串转换函数的同时自定义一个 str 变量。
解决办法两种:
1.参考此博主https://www.cnblogs.com/gstblog/p/9233566.html,将前str变量成其它名称
2.del str 删除str的变量 gc.collect() 回收内存