Respostas:
>>> str(10)
'10'
>>> int('10')
10
Links para a documentação:
A conversão para uma string é feita com a str()
função embutida, que basicamente chama o __str__()
método de seu parâmetro.
Tente o seguinte:
str(i)
Não há conversão de tipo e coerção de tipo no Python. Você precisa converter sua variável de maneira explícita.
Para converter um objeto em string, use a str()
função Funciona com qualquer objeto que tenha um método chamado __str__()
definido. De fato
str(a)
é equivalente a
a.__str__()
O mesmo se você quiser converter algo em 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
No Python => 3.6, você pode usar a f
formatação:
>>> int_value = 10
>>> f'{int_value}'
'10'
>>>
Para o Python 3.6, você pode usar o novo recurso f-strings para converter em string e é mais rápido em comparação à função str (); é usado assim:
age = 45
strAge = f'{age}'
Python fornece a função str () por esse motivo.
digit = 10
print(type(digit)) # will show <class 'int'>
convertedDigit= str(digit)
print(type(convertedDigit)) # will show <class 'str'>
Para obter respostas mais detalhadas, consulte este artigo: Convertendo Python Int em String e Python String em Int
A maneira mais decente na minha opinião é ``.
i = 32 --> `i` == '32'
repr(i)
, portanto será estranho por muito tempo. (Try i = `2 ** 32`; print i
)
Pode usar %s
ou.format
>>> "%s" % 10
'10'
>>>
(OU)
>>> '{}'.format(10)
'10'
>>>
Para alguém que deseja converter int em string em dígitos específicos, o método abaixo é recomendado.
month = "{0:04d}".format(localtime[1])
Para obter mais detalhes, consulte a pergunta Número de exibição do estouro de pilha com zeros à esquerda .
Com a introdução do f-strings no Python 3.6, isso também funcionará:
f'{10}' == '10'
Na verdade, é mais rápido do que ligar str()
, ao custo da legibilidade.
De fato, é mais rápido que a %x
formatação de strings e .format()
!