为什么int list在python 3.7及更高版本中没有得到转换,但可以在python 2.7上工作?

时间:2019-04-21 13:12:16

标签: python python-3.x python-2.7

Python 2.7如下

>>> l1 =[1,2,3]
>>> for x in l1:
  str(x)


'1'
'2'
'3'
>>> 

为什么在python 3.7中,以str的int无法正常工作,如上面2.7所示?

Python 3.7如下

>>> l1[1, 2, 3, 4]
>>> for x in l1:print(str(x))
Traceback (mostrecentcalllast):File <pyshell#593>", line 2, in <module>
     print(str(x))
     TypeError: 'str' object is not callable

1 个答案:

答案 0 :(得分:3)

发生这种情况的原因可能是您在以下某个时候定义了变量str

>>> str = '3'
>>> str(3)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'str' object is not callable

您应该避免对变量使用与内置函数(如str())相同的名称,否则可能会发生上述情况。