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

Oscar Carballal Prego oscar.carballal en gmail.com
Mar Nov 23 15:52:35 CET 2010


El 23/11/2010, a las 15:34, Gustavo Cabral escribió:
> Hola:
> Soy nuevo en esto y leí algunos artículos para comenzar con Python,
> pero necesito con urgencia entender que significa el % en el código,
> para ser más claro, tengo este pedazo de código, el cual retorna unos
> valores de una BD, pero no logro entender para que se usa el "%":
>
> for i in ids:
>         #get the id of the current function of the employee of  
> identifier "i"
>         sql_req= """
>         SELECT f.id AS func_id
>         FROM hr_contract c
>           LEFT JOIN res_partner_function f ON (f.id = c.function)
>         WHERE
>           (c.employee_id = %d)
>         """ % (i,)
>
> Me podrían ayudar con esto? no entiendo el uso del "%"
> Muchas Gracias.
>
> Gustavo

Que me corrija alguien que sepa, pero yo lo conozco por "operador de  
sustitución".

Sustituye el operador % y el tipo (s, d) por el contenido de una  
variable o operación determinada.

Ejemplo:

a = "persona"
print "Hola %s" % (s)

Salida: "Hola persona"

El operador de sustitución admite diferentes tipos de datos, entre  
ellos cadenas de texto (s), numérico (d), flotantes etc.

Ejemplo:

print "Dos mas dos son: %d" % (2+2)

Salida: Dos mas dos son: 4

Se pueden poner varios operadores de sustitución en la misma cadena.  
Así como otras tantas cosas más, pero deberías leerte algún manual,  
viene explicado en todos.

Un saludo,
Oscar Carballal



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