problema con getattr y otras dudas de novato...

Milton Galo Patricio Inostroza Aguilera minoztro en gmail.com
Mar Ene 8 00:08:46 CET 2008


El 6/01/08, Kike Cabrera <kikecalpe en gmail.com> escribió:
> Estoy intentando hacer una funcion como el ejemplo 4.12 de 'inmersion en

Hola Kike

> python'<http://almacen.gulic.org/diveintopython-5.4-es/power_of_introspection/getattr.html>,
> que utiliza getattr para distinguir a que funcion debe llamar.
> El problema es que las funciones que deben ser llamadas estan dentro de otra
> y no se como puedo hacer para llamar a estas puesto que en el ejemplo citado
> se requiere que esten en un modulo, tal vez hay algo que no entendí bien.

¿es necesario que la definición de una función esté dentro de otra
función? ¿Por qué?

> ejemplo;
>
> def funcion_principal(entero, lista):
>   def subfuncion_uno(lista):
>   def subfuncion_dos(lista):
>   diccionario = {1:'uno', 2:'dos'}
>   num = diccionario[entero] # asigno a num el valor de entero en el
> diccionario
>   subfuncion_salida = getattr(¿modulo?, "subfuncion_%s" % num) # ¿como puedo
> decir q la funcion está aquí mismo??
>   subfuncion_salida(lista) #¿esto funcionaria?

Podrías mandarnos código bien indentado para poder hacer pruebas?

>
> como veis tengo varias dudas.

Al parecer es generalmente útil el método getattr cuando debes decidir
a qué función llamar y no lo sabes con antelación, entonces tienes la
opción de llamarla en tiempo de ejecución sólo con su nombre.

> muchas gracias a todos por vuestra ayuda y ¡¡¡feliz año nuevo!!!

Feliz año nuevo :-)

>
> _______________________________________________
> Lista de correo Python-es
> http://listas.aditel.org/listinfo/python-es
> FAQ: http://listas.aditel.org/faqpyes
>


-- 
Milton Inostroza Aguilera
_______________________________________________
Lista de correo Python-es 
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes





Más información sobre la lista de distribución Python-es