Terca variable = no se como definir una funcion :-)
Joaquin Jose del Cerro Murciano
jjdelcerromurciano en yahoo.es
Lun Jun 6 09:16:35 CEST 2005
Hola,
Muy rapido......
El Lunes, 6 de Junio de 2005 01:45, Jose Luis DALLAPICCOLA escribió:
> Hola.
>
> Tengo definida una función de la siguiente manera:
> "def IdGrupo_existe(self, id_grupo, grupo, ancestro):"
>
> Esta función debería verificar la existencia del código almacenado en
> id_grupo y devolver en la variable grupo la descripción del código si
> éste existiera.
>
> Bueno, hace todo bian (al menos eso es lo que creo), pero cuando
> vuelve el código a la función que llamó a la anterior, la variable
> aparece inmutable.
>
> La consulta es: cómo debo definir la función para que permanezca la
> modificación a la variable grupo?
>
> Saludos y muchas gracias de antemano.
>
> PD: Por las dudas adjunto el código completo de la función mencionada
> (serán bienvenidas críticas, ya que es mi primer programa en python)
>
> ***** COMIENZO DEL CODIGO ******
> def IdGrupo_existe(self, id_grupo, grupo, ancestro):
> resultado = False
> sql = "SELECT grupo FROM articulos_grupos WHERE (id_grupo = %i);" %
> id_grupo
>
> try:
> res = ancestro.conexion.query(sql)
> except libpq.Error, msg:
> print "Select from articulos_grupos failed\n%s" % msg
>
> if res.resultStatus == libpq.TUPLES_OK:
> if res.ntuples == 1:
> grupo = res.getvalue(0, 0)
En python el paso de parametros es por valor. No se pueden
modificar y esperar que el "llamante" se entere.
> resultado = True
>
> return resultado
Puedes probar devolviendo una tupla del estilo de:
return resultado, grupo
Y inicializa grupo a None al principio de la funcion.
> ***** FIN DEL CODIGO ******
Un saludo
Joaquin.
______________________________________________
Renovamos el Correo Yahoo!
Nuevos servicios, más seguridad
http://correo.yahoo.es
Más información sobre la lista de distribución Python-es