Python中str is not callable问题详解及解决办法

yipeiwu_com7年前Python基础

Python中str is not callable问题详解及解决办法

问题提出:

   在Python的代码,在运行过程中,碰到了一个错误信息:

   python代码:

def check_province_code(province, country): 
  num = len(province) 
   
  while num <3: 
    province = ''.join([str(0),province]) 
    num = num +1 
   
  return country + province 

  运行的错误信息:

check_province_code('ab', '001') 
--------------------------------------------------------------------------- 
TypeError                 Traceback (most recent call last) 
<ipython-input-44-02ec8a351cce> in <module>() 
----> 1 check_province_code('ab', '001') 
 
<ipython-input-43-12db968aa80a> in check_province_code(province, country) 
   3  
   4   while num <3: 
----> 5     province = ''.join([str(0),province]) 
   6     num = num +1 
   7  
 
TypeError: 'str' object is not callable  

问题分析与排查:

   从错误信息分析, str不是一个可调用的对象,可是之前确实可以调用的,且在python的api文档中,其是python内置的一个函数呀, 怎么不能用了呢?

 还是继续验证一下吧。

   在命令行下执行str(123),将数字转换为string:

>>> str(1233) 
--------------------------------------------------------------------------- 
TypeError                 Traceback (most recent call last) 
<ipython-input-45-afcef5460e92> in <module>() 
----> 1 str(1233) 
 
TypeError: 'str' object is not callable  

 这下问题定义清楚了,原来没有了str,仔细想了想原来刚才在定义变量的时候,随机使用str,所以就被覆盖了str函数。进行了类似以下的操作:

str = '123' 

恢复默认的str函数

   重新启动一下python应用,移除str被覆盖的代码部分即可。

总结

  在python中内置了很多的函数和类,在自己定义变量的时候,切记不要覆盖或者和他们的名字重复。

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

相关文章

python实现寻找最长回文子序列的方法

本文实例为大家分享了python实现寻找最长回文子序列,这一类的问题可以使用动态规划的方法去做,我之前应该有几篇博文都是关于回文序列的求解的,正好有可以复用的代码就懒得再用别的方法写了,...

Python 字符串操作实现代码(截取/替换/查找/分割)

Python 截取字符串使用 变量[头下标:尾下标],就可以截取相应的字符串,其中下标是从0开始算起,可以是正数或负数,下标可以为空表示取到头或尾。 复制代码 代码如下:# 例1:字符串...

TensorFlow tf.nn.conv2d实现卷积的方式

实验环境:tensorflow版本1.2.0,python2.7 介绍 惯例先展示函数: tf.nn.conv2d(input, filter, strides, padding, us...

自适应线性神经网络Adaline的python实现详解

自适应线性神经网络Adaline的python实现详解

自适应线性神经网络Adaptive linear network, 是神经网络的入门级别网络。 相对于感知器,采用了f(z)=z的激活函数,属于连续函数。 代价函数为LMS函数,最小均...

flask-socketio实现WebSocket的方法

【flask-socektio】 之前不知道在哪个场合下提到过如何从web后台向前台推送消息。听闻了反向ajax技术这种模式之后,大呼神奇,试了一下之后发现也确实可以用。不过,反向aj...