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