[Python-es] Para que se usa el "%"

Oscar Carballal Prego oscar.carballal en gmail.com
Mar Nov 23 16:13:44 CET 2010


El 23/11/2010, a las 15:59, Gustavo Cabral escribió:

> El día 23 de noviembre de 2010 11:54, Oscar Carballal Prego
> <oscar.carballal en gmail.com> escribió:
>> El 23/11/2010, a las 15:52, Oscar Carballal Prego escribió:
>>
>>> Ejemplo:
>>>
>>> a = "persona"
>>> print "Hola %s" % (s)
>>>
>>> Salida: "Hola persona"
>>
>> Cometí un error en ese ejemplo, la línea print sería
>>
>> print "Hola %s" % (a)
>>
> Perfecto ejemplo, es decir que se usa para "pasar" el valor a una
> cadena de texto. Disculpen mi ignorancia, pero si lo comparo con otro
> lenguaje donde:
>
> a = "persona"
> print "Hola " & a
>
> ¿Es lo mismo?
> --  

Es parecido, el operador de sustitución permite incorporar valores de  
varios tipos a la cadena, sin embargo, usando el operador "&" sólo se  
pueden unir si son del mismo tipo, es parecido a usar el operador de  
suma en python.

Esto sería correcto:

a = "persona"
print "Hola " + a

Esto no funcionaría:

a = 4
print "Somos " + a

Al ser "a" un entero no se pude añadir a una cadena, sin embargo:

a = 4
print "Somos " + str(a)

Sí es válido, porque hemos convertido "a" a una cadena antes de  
añadirlo a la otra cadena.

Un saludo


Más información sobre la lista de distribución Python-es