Python - sintaxis de python que no entiendo

 
Vista:

sintaxis de python que no entiendo

Publicado por JOSEPH (2 intervenciones) el 13/07/2022 03:42:23
me encuentro con esta sintaxis cuando estaba aprediendo manejar mi base dato con python

sql = 'insert into Usuario (email, username, edad) values (%s, %s, %s)'
values = (email, username, edad)



entiendo que el commando es enviado como string a la base de datos pero no entiendo como es entregado el valor de la variable values al string sql estuve probando idle de python situaciones similares y no me funciona y tambien busque por internet encontre ejemplo que tenia el simbolo % al medio el cual no encaja con mi situacion que me enfrento

los ejemplo que encontre fueron asi similares y no encaja con la sintaxis que tengo arriba

var1 = "Geek!"
var2 = "Geeks for Geeks"

print("Hello %s Are you enjoying being at %s for preparations." % (var1, var2))
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Plutarco
Val: 45
Ha disminuido 1 puesto en Python (en relación al último mes)
Gráfica de Python

sintaxis de python que no entiendo

Publicado por Plutarco (24 intervenciones) el 13/07/2022 14:45:19
Hola Joseph

%s significa que vas a pasar un string en el lugar donde pones %s, primero entendamos tu sentencia de SQL:
INSERT INTO Usuario (email, username, edad) values (email, username, edad)
El tema es que por lógica los valores de email y username son de tipo string tal vez VARCHAR y edad sería tipo numérico, tal vez INT, la manera más entendible en python sería:
sql = 'insert into Usuario (email, username, edad) values (' + email + ', ' + username + ', ' + str(edad) + ')'

Si te das cuenta pasamos edad a tipo STR ya que estamos manejando una cadena y estoy suponiendo que edad en numérico, a menos que edad ya venga en tipo string sería:
sql = 'insert into Usuario (email, username, edad) values (' + email + ', ' + username + ', ' + edad + ')'

La sentencia anterior tiene exactamente la misma funcinalidad que:
sql = 'insert into Usuario (email, username, edad) values (%s, %s, %s)'
values = (email, username, edad)

Donde email va a sustituir al primer %s, username va a sustituir al segundo %s y edad sustituiría al tercer %s, ya depende de cada uno qué forma usar.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

sintaxis de python que no entiendo

Publicado por joseph (2 intervenciones) el 13/07/2022 21:53:15
gracias igualmente
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar