Em python diz que você tem
s = "string"
i = 0
print s+i
lhe dará um erro para você escrever
print s+str(i)
para não ter erro.
Eu acho que essa é uma maneira bastante desajeitada de lidar com a concatenação de int e string. Mesmo Java não precisa de conversão explícita para String para fazer esse tipo de concatenação. Existe uma maneira melhor de fazer esse tipo de concatenação, ou seja, sem conversão explícita no Python?
python
concatenation
string-concatenation
specialscope
fonte
fonte
"1" + 1
,2
ou"11"
e por quê?s+str(i)
, e você está correto!Respostas:
Formatação de string moderna:
fonte
str.format
método foi introduzido no pitão 3,0, e portadas para o Python 2,6 e mais tarde (ver stackoverflow.com/a/792745/4648642 )Nenhuma formatação de string:
fonte
print()
função v3 e defina alguns de seus parâmetros.Formatação de string, usando o
.format()
método de novo estilo (com os padrões .format () fornece):Ou o mais antigo, mas "ainda por aí",
%
formatando:Nos dois exemplos acima, não há espaço entre os dois itens concatenados. Se for necessário espaço, ele pode ser simplesmente adicionado nas seqüências de formato.
Eles fornecem muito controle e flexibilidade sobre como concatenar itens, o espaço entre eles etc. Para obter detalhes sobre especificações de formato, consulte isso .
fonte
O Python é uma linguagem interessante, pois embora haja geralmente uma (ou duas) maneiras "óbvias" de realizar qualquer tarefa, a flexibilidade ainda existe.
O trecho de código acima é escrito na sintaxe Python3, mas os parênteses após a impressão sempre eram permitidos (opcional) até a versão 3 torná-los obrigatórios.
Espero que isto ajude.
Caitlin
fonte
O método format () pode ser usado para concatenar string e número inteiro
fonte
se você quiser imprimir, você pode fazer isso:
fonte
no python 3.6 e mais recente, você pode formatá-lo assim:
ou apenas:
fonte