[pyar] Tipo del valor de retorno distinto según los parámetros
#Mike -
michael.ibarra en gmail.com
Vie Dic 17 09:35:53 ART 2010
2010/12/17 Eliseo Ocampos <roskoff en gmail.com>:
> Buenos días Pyar,
>
> 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
> dicionarios), en fin, se me ocurrieron dos formas:
> 1. Hacer funciones distintas según el tipo de dato a retornar, por ejemplo:
> def check_value_int(key,instance):
> if key in instance:
> return instance[key]
> else:
> return 0
>
> 2. Usar la misma función pero pasarle un parámetro extra para indicar el
> tipo de dato a retornar, por ejemplo:
> def check_value(key,instance, type):
> if key in instance:
> return instance[key]
> else:
> if type = INT: # constante definida
> return 0
> elif type = STRING:
> return ''
> la cual se usaría así:
> valor = check_value("edad", datos_personales, INT) # datos_personales:
> {'nombre': 'Eliseo', 'apellido': 'Ocampos', 'edad': 26}
>
> Mi pregunta es, hay algo que sea mas pythonico? Cúal sería la forma más
> genérica de extender a otros tipos de datos posibles que pueda tener? O esto
> es un capricho mío nomás por ser haragán y no querer escribir más de una
> función?
Leyendo a la volada, esto te podria ayudar..
http://docs.python.org/library/types.html
>
> Saludos,
> Eliseo.
>
> _______________________________________________
> pyar mailing list pyar en python.org.ar
> http://listas.python.org.ar/listinfo/pyar
>
> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>
--
Michael Ibarra
More information about the pyar
mailing list