Professional Documents
Culture Documents
def funcion():
return "Hola Mundo"
open in browser PRO version Are you a developer? Try out the HTML to PDF API pdfcrowd.com
def saludar(nombre, mensaje='Hola'):
print mensaje, nombre
print mi_funcion()
Sin embargo, es posible que se desee realizar dicha llamada, de manera dinmica, es
decir, desconociendo el nombre de la funcin a la que se desear llamar. A este tipo
de acciones, se las denomina llamadas de retorno.
Para conseguir llamar a una funcin de manera dinmica, Python dispone de dos
funciones nativas: locals() y globals() .
def funcion():
return "Hola Mundo"
def llamada_de_retorno(func=""):
"""Llamada de retorno a nivel global"""
return globals()[func]()
open in browser PRO version Are you a developer? Try out the HTML to PDF API pdfcrowd.com
print llamada_de_retorno("funcion")
def funcion(nombre):
return "Hola " + nombre
def llamada_de_retorno(func=""):
"""Llamada de retorno a nivel global"""
return globals()[func]("Laura")
print llamada_de_retorno("funcion")
open in browser PRO version Are you a developer? Try out the HTML to PDF API pdfcrowd.com
4.2.1. Saber si una funcin existe y puede ser llamada
Durante una llamada de retorno, el nombre de la funcin, puede no ser el indicado.
Entonces, siempre que se deba realizar una llamada de retorno, es necesario comprobar
que sta exista y pueda ser llamada.
if nombre_de_la_funcion in locals():
if callable(locals()[nombre_de_la_funcion]):
print locals()[nombre_de_la_funcion]("Emilse")
def funcion(nombre):
return "Hola " + nombre
def llamada_de_retorno(func=""):
if func in globals():
if callable(globals()[func]):
return globals()[func]("Laura")
open in browser PRO version Are you a developer? Try out the HTML to PDF API pdfcrowd.com
else:
return "Funcin no encontrada"
print llamada_de_retorno("funcion")
nombre_de_la_funcion = "funcion"
if nombre_de_la_funcion in locals():
if callable(locals()[nombre_de_la_funcion]):
print locals()[nombre_de_la_funcion]("Facundo")
else:
print "Funcin no encontrada"
Anterior Siguiente
4.1. Definiendo funciones 4.3. Llamadas recursivas
Copyright (c) 2011-2013 Eugenia Bahit. La copia y redistribucin de esta pgina se permite bajo los trminos de
la licencia Creative Commons Atribucin NoComercial SinDerivadas 3.0 Unported siempre que se conserve esta
nota de copyright.
open in browser PRO version Are you a developer? Try out the HTML to PDF API pdfcrowd.com
INDICE DE CONTENIDOS
open in browser PRO version Are you a developer? Try out the HTML to PDF API pdfcrowd.com
13. Corriendo aplicaciones Python en la web
3.757
2006-2017 LibrosWeb.es Contacto Novedades Condiciones Privacidad
das online
open in browser PRO version Are you a developer? Try out the HTML to PDF API pdfcrowd.com