Странность вызова str () для преобразования целого числа в строку в Python 3? - PullRequest
13 голосов
/ 15 августа 2011

Почему это дает мне ошибку?

>>> variable = str(21)

Traceback (most recent call last):
  File "<pyshell#101>", line 1, in <module>
    variable = str(21)
TypeError: 'str' object is not callable

Ответы [ 2 ]

37 голосов
/ 15 августа 2011

Один только этот код не выдаст вам ошибку.Например, я только что попробовал это:

~ $ python3.2
>>> variable = str(21)
>>> variable
'21'

Где-то в вашем коде вы определяете это str = что-то еще, маскируя встроенное определение str.Удалите это, и ваш код будет работать нормально.

13 голосов
/ 15 августа 2011

Поскольку вы, вероятно, перезаписали функцию str, вызвав собственную переменную str.

...