问题提出:

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

python代码:

def check_province_code(province, country):num = len(province)while num <3:province = ''.join([str(0),province])num = num +1return 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 +17 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中内置了很多的函数和类,在自己定义变量的时候,切记不要覆盖或者和他们的名字重复。

python3 str is not callable 问题解决相关推荐

  1. python3的urllib2报错问题解决方法

    python3的urllib2报错问题解决方法 参考文章: (1)python3的urllib2报错问题解决方法 (2)https://www.cnblogs.com/marsggbo/p/66229 ...

  2. python3和pip3安装和问题解决

    python3和pip3安装和问题解决 参考文章: (1)python3和pip3安装和问题解决 (2)https://www.cnblogs.com/amoyzhu/p/9284294.html 备 ...

  3. python3 str 数字类型判断 str.isdecimal(), isdigit(), isnumeric()

    范围:Numeric > Digit > Decimal Numeric Type[a][b] (Unicode character property) Numeric type Code ...

  4. pythonunicode和str_python2 中 unicode 和 str 之间的转换及与python3 str 的区别

    在python2中字符串分为 unicode 和 str 类型 Str To Unicode 使用decode(), 解码 Unicode To Str 使用encode(), 编码 返回数据给前端时 ...

  5. python2和python3的默认编码_Python2和Python3中的字符串编码问题解决

    原博文 2018-01-02 11:38 − Python2和Python3在字符串编码上是有明显的区别. 在Python2中,字符串无法完全地支持国际字符集和Unicode编码.为了解决这种限制,P ...

  6. linux python3安装uwsgi报错问题解决

    当我运行 pip3 install uwsgi 出现了如下的报错信息 WARNING: Running pip install with root privileges is generally no ...

  7. python3 str与bytes转换,定义bytes类型

    python3默认的字符串常量为str类型,有时候需要转换为二进制形式. 1.str转bytes # str to bytes my_str = "hello" my_bytes ...

  8. python3 str() repr() 区别

    前言 python中转换成字符有两种方法:str()和repr(),这两种又有什么区别?什么时候用str?什么时候用repr? str()函数:将值转化为适于人阅读的字符串的形式 repr()函数:将 ...

  9. python3 str bytes 字符串 字节 互相转换

    1.字符串转成bytes:str.encode('utf-8') 示例1: >>>'abc'.encode('utf-8')>>>b'abc'>>> ...

最新文章

  1. pandas pivot_table透视表、crosstab交叉表、aggfunc函数详解及实战
  2. Active Directory 对象授权还原
  3. 魅族升级鸿蒙,魅族要“弯道超车”?率先升级鸿蒙OS,挥别安卓系统
  4. 关于laravel框架中and 和orWhere 的多条件嵌套
  5. java私有instance_java – Instance Initializer与私有成员
  6. Android Glide 加载圆形图片(绝对实用)
  7. UDP(发短信:简单模拟)
  8. python邮件图片加密软件_用Python发一封图文并茂的邮件
  9. Copy_on_write的简单实现
  10. oracle数据块坏,Oracle数据块损坏解决办法
  11. 恒生UFX交易接口基本介绍说明
  12. 数学【1】:矩阵特征值与特征向量的求法
  13. IONIC Error“EPERM: operation not permitted, rename 'C:\Users\tad\.config\configstore\cordova-config”
  14. Linux内核设计与实现 Robert Love
  15. day 83 Vue学习三之vue组件
  16. 一份完整的app产品运营推广方案,app推广运营的方法(二
  17. 关于ios 卡顿检测分析
  18. FastJson - JSONObject 如何设置成有序?(如:LinkedHashMap)
  19. 自动修复工具介绍——SemFix [ICSE 2013]
  20. prometheus重启

热门文章

  1. EVT DVT PVT TP PP MP分别指哪个阶段
  2. Bootloader的分区和启动
  3. mysql忘记root密码及修改密码
  4. Java删除文件及其子文件、文件夹
  5. Xcode终端常用的指令-终端输入
  6. MSIL 教程(二):数组、分支、循环、使用不安全代码和如何调用Win32 API(转)...
  7. RedisTemplate
  8. MySQL添加用户、删除用户与授权
  9. LIst和map的遍历
  10. linux命令应用之一