Qual's a diferença entre %s e %d na formatação de cordas Python?

Eu não'não entendo o que %s e%d` fazem e como eles funcionam.

Eles são usados para formatação de cordas. O %s age como um espaço reservado para uma string enquanto o %d age como um espaço reservado para um número. Seus valores associados são passados através de um tuple utilizando o operador %.

name = 'marcog'
number = 42
print '%s %d' % (name, number)

irá imprimir o marcog 42. Note que o nome é uma string (%s) e o número é um número inteiro (%d para decimal).

Consulte https://docs.python.org/3/library/stdtypes.html#printf-style-string-formatting para obter mais detalhes.

Em Python 3 o exemplo seria:

print('%s %d' % (name, number))
Comentários (5)

O "%s" é utilizado como um espaço reservado para valores de string que você quer injetar em uma string formatada.

O %d é utilizado como um espaço reservado para valores numéricos ou decimais.

Por exemplo (para a pitão 3)

print ('%s is %d years old' % ('Joe', 42))

Sairia...

Joe is 42 years old
Comentários (3)

Eles são especificadores de formato. Eles são usados quando você quer incluir o valor das suas expressões Python em strings, com um formato específico aplicado.

Veja Dive into Python para uma introdução relativamente detalhada.

Comentários (0)