Artículo original: How to Call a Function in Python – Def Syntax Example por Kolade Chris

Traducido por: Jose González

En Python, como en otros lenguajes de programación, puedes usar las funciones para evitar repetirte y reutilizar piezas de código.

Para que las funciones puedan trabajar, no solo las escribes y ya – debes llamarlas o invocarlas también.

Antes de que llames una función, necesitas escribirlas con la palabra clave Def. Así que, en este artículo, no solo te mostraré como llamar una función, sino que también, te mostraré como crearla.

Lo que veremos

  • Como definir una función con la palabra clave def
  • Como llamar una función en Python
  • Como llamar una función anidada en Python
  • Conclusiones

Como definir una función con la palabra clave def

Para definir una función en Python, debes escribir en primer lugar la palabra clave def, seguido del nombre de la función y los paréntesis.

Para decirle a Python que la función es un bloque de código, colocas un dos puntos (:) tras del nombre de la función. Lo que sigue, es lo que quieres que haga la función.

La sintaxis básica de una función se ve de la siguiente manera:

def nombre_función():
    # Lo que quieres que haga tu función

Un ejemplo de una función puede ser el siguiente:

def aprender_a_programar():
    print("Puedes aprender a programar gratis en freeCodeCamp")

Lo que queremos que esta función haga es mostrar el texto  puedes aprender a programar gratis en freeCodeCamp en la terminal.

Para que esta función se ejecute, debemos llamarla. Eso es lo que haremos a continuación.

Como llamar una función en Python

Para llamar una función, debes escribir el nombre de la función seguido de dos paréntesis cerrados.

La sintaxis al llamar una función debe verse de la siguiente manera:

nombre_función()

Para llamar la función definida previamente, debemos escribir aprender_a_programar():

def aprender_a_programar():
    print("Puedes aprender a programar gratis en freeCodeCamp")

aprender_a_programar()
# Salida: Puedes aprender a programar gratis en freeCodeCamp

Nota: Asegúrate de jamás especificar la llamada de la función dentro del bloque donde se configura que ha de hacer tu función. No va a funcionar porque pasará a ser tratada como parte de la función que se está ejecutando.

ss1-3

Puedes ver que la función no mostró nada, ya que he intentado llamarle desde dentro del bloque de la función.

ss2-4

En este caso, la función se ejecuta correctamente, porque le he llamado desde afuera del bloque de la función.

Como llamar una función anidada en Python

Puede ser un poco confuso el llamar una función anidada, así que quiero mostrarte como hacerlo.

A continuación está la función anidada:

def aprender_a_programar():
    print("Puedes aprender a programar gratis en freeCodeCamp")

    def aprender_que_lenguaje():
        print("Puedes aprender cualquier lenguaje de programación en el canal de YouTube de freeCodeCamp")
  

La función aprender_que_lenguaje es parte de la funciónaprender_a_programar porque está anidada o definida dentro de ella.

Si escribes aprender_a_programar() y ejecutas el código, solo la función externa (aprender_a_programar) es llamada:

ss3-3


Puedes observar en la imagen anterior que solo la función exterior fue llamada y que la función interna está atenuada.

Para llamar una función interior, deberías escribir aprender_que_lenguaje() de forma precisa. Pero, ¿por qué?

Deberías observar justo debajo del bloque interior de la función definida por la palabra clave def y escribir el llamado de la función ahí.

Pero, si solo haces eso, tampoco funcionará, ya que debes llamar a la función externa también.

ss4-3


Puedes ver que la función interior (aprender_que_lenguaje) aún no hace lo que queremos que haga.

Para que funcione correctamente, debes llamar ambas funciones donde sea necesario:

def aprender_a_programar():
    print("Puedes aprender a programar gratis en freeCodeCamp")

    def aprender_que_lenguaje():
        print("Puedes aprender cualquier lenguaje de programación en el canal de YouTube de freeCodeCamp")
    
    aprender_que_lenguaje()

aprender_a_programar()

"""
Salida:
Puedes aprender a programar gratis en freeCodeCamp
Puedes aprender cualquier lenguaje de programación en el canal de YouTube de freeCodeCamp
"""
ss5-4

Puedes ver que todo salió como se esperaba.

Conclusiones

Espero que este artículo haya sido de ayuda en tu aprendizaje en como correctamente llamar una función utilizando Python.

Si quieres aprender más sobre Python, puedes revisar freeCodeCamp Python curriculum. Es completamente gratis.

Sigue Programando :)