[pyar] Tipo del valor de retorno distinto según los parámetros
Facundo Batista
facundobatista en gmail.com
Vie Dic 17 14:49:48 ART 2010
2010/12/17 Eliseo Ocampos <roskoff en gmail.com>:
> Tengo la siguiente función:
> def check_value(key,instance):
> if key in instance:
> return instance[key]
> else:
> return ""
>
> La cual se usaría así:
> valor = check_value("nombre", datos_personales) # datos_personales:
> {'nombre': 'Eliseo', 'apellido': 'Ocampos'}
>
> Así, si no existiera la clave nombre, valor sería '' (string vacío)
>
> Pero ahora tengo otro requerimiento adicional que sería soportar enteros,
> floats (por ahora, más adelante probablemente necesite soportar también
>>> def check_value(key, algo):
... return algo.get(key, type(key)())
...
>>> check_value(5, {})
0
>>> check_value("foo", {})
''
>>> check_value(3.44, {})
0.0
Diccionarios no vas a poder soportar, porque no son hashables (no los
podés usar como claves en el dict).
Slds.
--
. Facundo
Blog: http://www.taniquetil.com.ar/plog/
PyAr: http://www.python.org/ar/
More information about the pyar
mailing list