[pyar] Función que devuelve más de un valor. Opiniones.

Daniel Moisset dmoisset en machinalis.com
Jue Jun 2 21:25:44 ART 2011


2011/6/2 Maximiliano Robaina <maxi_robaina en yahoo.com.ar>:
> Hola lista,
>
> Me interesaría conocer las opiniones (y argumentos) respecto al modo en
> que una función python devuelve más de un valor.
>
> El punto es que si tengo una función que debe devolver más de un valor,
> me conviene:
>
> 1. Usar el clásico método de devolver los valores que quiero separados
> por coma (,). ie:  return valor1, valor2, valorN
>
> 2. Devolver una estructura de datos y acá, dependiendo de la
> heterogeneidad de los datos, usar por ejemplo un dict.
> ie: return dict(val1=valor1, val2=valor2, valN=valorN)
>
> 3. otro/s?

Si tus datos son poquitos y homogeneos, una tupla puede andar.

Si tenes campos con nombres es mucho mas legible un namedtuple

Si es un mapeo de nombres que no estan predefinidos sino que cambian
mucho, un dict o un bunch (el bunch es un poquito mas piola, pero no
esta en la stdlib)

Igual eso es un consejo supergeneral. Hay que ver cada caso, quien va
a consumir los datos, si esa estructura tiene sentido como input de
otra cosa, etc, etc

Saludos,

    D.



More information about the pyar mailing list