Función callable() de Python
La función
callable()
en Python es una función incorporada que se utiliza para verificar si un objeto puede ser llamado, es decir, si puede ser utilizado como una función. La función
callable()
devuelve
True
si el objeto puede ser llamado y
False
en caso contrario. Aquí hay una lección detallada sobre la función
callable()
Página de referencia: resume la firma y el uso de un método concreto. El valor está en el patrón: qué recibe, qué devuelve y en qué situación lo usarías.
Copia el ejemplo al editor, cámbiale los argumentos y comprueba la salida.
Sintaxis de la Función callable() de Python
Donde
object
es el objeto que se quiere verificar si es callable o no.
Ejemplo de uso de la Función callable() de Python
Ejemplo
def mi_funcion():
print("Hola, soy una función")
class MiClase:
def __init__(self):
pass
# Verificando si un objeto es callable
print(callable(mi_funcion)) # True, ya que es una función
print(callable(MiClase)) # True, ya que una clase es callable (se puede usar para crear objetos)
print(callable(42)) # False, ya que un entero no es callable
En este ejemplo, hemos definido una función llamada
mi_funcion
y una clase llamada
MiClase
. Luego, utilizamos la función
callable()
para verificar si son objetos callable. La función
mi_funcion
y la clase
MiClase
se consideran callable porque se pueden utilizar como funciones o constructores de objetos. En cambio, el número entero
42
no es callable.
Casos comunes de uso
Verificar si una función existe antes de llamarla:
Puedes utilizar
callable()
para verificar si una función existe antes de intentar llamarla. Esto es útil cuando trabajas con módulos o bibliotecas que pueden proporcionar diferentes funciones opcionalmente.
Ejemplo
if callable(alguna_funcion):
alguna_funcion()
else:
print("La función no existe.")
Comprobar si un objeto es callable antes de invocarlo:
En algunos casos, puedes recibir un objeto que podría ser una función o un objeto con un método
__call__
. Para evitar errores, puedes usar
callable()
para verificar si se puede llamar antes de hacerlo.
Ejemplo
def saludar(nombre):
return f"Hola, {nombre}"
print(saludar("Elena"))
Validar objetos que actúan como funciones o clases:
Puedes usar
callable()
para validar objetos que se utilizan como funciones o constructores. Esto es especialmente útil cuando trabajas con código dinámico o con la entrada del usuario.
Ejemplo
callable(object)
En resumen, la función
callable()
es útil para verificar si un objeto puede ser tratado como una función. Te permite realizar una comprobación antes de intentar llamar a un objeto y, por lo tanto, evita errores de tiempo de ejecución.
Practica Función callable() de Python en el editor
Pon en práctica lo aprendido con nuestro editor Python interactivo. Cada ejercicio incluye el código de partida y un botón para abrirlo en una nueva pestaña, donde puedes modificarlo y ejecutarlo.
Ejercicio: Comprobar si es callable()
Usa callable() para distinguir funciones de otros objetos.
Ejemplo
def saludar():
return "hola"
print(callable(saludar))
print(callable(42))
print(callable("Elena"))
Ejercicio: Donde
Donde object es el objeto que se quiere verificar si es callable o no.
Ejemplo
def mi_funcion():
print("Hola, soy una función")
class MiClase:
def __init__(self):
pass
# Verificando si un objeto es callable
print(callable(mi_funcion)) # True, ya que es una función
print(callable(MiClase)) # True, ya que una clase es callable (se puede usar para crear objetos)
print(callable(42)) # False, ya que un entero no es callable
Ejercicio: Condicional if
Comprobar si un objeto es callable antes de invocarlo: En algunos casos, puedes recibir un objeto que podría ser una función o un objeto con un método __.
Ejemplo
if callable(alguna_funcion):
alguna_funcion()
else:
print("La función no existe.")