Respuestas:
>>> str(10)
'10'
>>> int('10')
10
Enlaces a la documentación:
La conversión a una cadena se realiza con la str()
función incorporada , que básicamente llama al __str__()
método de su parámetro.
Prueba esto:
str(i)
No hay conversión de texto ni coerción de tipo en Python. Tienes que convertir tu variable de manera explícita.
Para convertir un objeto en cadena, usa la str()
función. Funciona con cualquier objeto que tenga un método llamado __str__()
definido. De hecho
str(a)
es equivalente a
a.__str__()
Lo mismo si quieres convertir algo a int, float, etc.
>>> i = 5
>>> print "Hello, world the number is " + i
TypeError: must be str, not int
>>> s = str(i)
>>> print "Hello, world the number is " + s
Hello, world the number is 5
Para Python 3.6 puede usar la nueva característica f-strings para convertir a string y es más rápida en comparación con la función str (), se usa así:
age = 45
strAge = f'{age}'
Python proporciona la función str () por ese motivo.
digit = 10
print(type(digit)) # will show <class 'int'>
convertedDigit= str(digit)
print(type(convertedDigit)) # will show <class 'str'>
Para obtener una respuesta más detallada, puede consultar este artículo: Convertir Python Int a String y Python String a Int
La forma más decente en mi opinión es ``.
i = 32 --> `i` == '32'
repr(i)
, por lo que será extraño durante largos. (Prueba i = `2 ** 32`; print i
)
Para alguien que quiera convertir int a string en dígitos específicos, se recomienda el siguiente método.
month = "{0:04d}".format(localtime[1])
Para más detalles, puede hacer referencia a desbordamiento de pila pregunta Nº presentación con ceros a la izquierda .
Con la introducción de f-strings en Python 3.6, esto también funcionará:
f'{10}' == '10'
En realidad, es más rápido que llamar str()
, a costa de la legibilidad.
De hecho, es más rápido que el %x
formateo de cadenas y .format()
!