Cómo llamar a una función en Python: la guía definitiva

Las funciones son un concepto esencial en la programación que le permite administrar y reutilizar bloques de código. Saber cómo llamar a una función en Python es una habilidad clave para aprender.

En este tutorial, aprenderá los conceptos básicos de las funciones de llamada, junto con algunos consejos para escribir código eficiente que sea más fácil de entender.

El dominio de las funciones no solo lo ayudará a crear un código más versátil, sino que también agilizará su proceso de programación y mejorará su eficiencia general como desarrollador.

Las funciones tienen los mismos principios subyacentes, y una vez que domine las funciones en Python, podrá ampliar su comprensión de las funciones en comparación con otros lenguajes de programación como Java, R, JavaScript, PHP, etc.

Cómo llamar a una función en Python: la guía definitiva

Tabla de contenido

¿Qué es una función?

Una función en Python le permite crear piezas de código reutilizables que se pueden llamar a través de su programa, simplificando su código y mejorando la legibilidad. Realiza una tarea específica o un conjunto de tareas y se puede llamar varias veces dentro de un programa. 

Definición de una función en Python

Hay dos categorías principales de funciones en Python:

  • Funciones definidas por el usuario: funciones que un programador define para evitar la repetición de código
  • Funciones integradas : funciones definidas por otra persona y que se pueden usar en su código después de instalar los paquetes necesarios

Esta sección del tutorial de Python se centra en las funciones definidas por el usuario. Aprenderás:

  • Cómo definir una función en Python
  • La sintaxis de la función
  • Cómo usar parámetros y argumentos

Sintaxis de la función

La def palabra clave, seguida del nombre de la función y los paréntesis, le permite definir una función en Python. El cuerpo de la función está sangrado y contiene el código que se ejecutará cuando se llame a la función. A continuación se muestra un ejemplo de una función básica en Python:

def saludar(): print("¡Hola, mundo!") saludar()

La def palabra clave define una nueva función con el nombre saludo. La tercera línea de código invoca la función, que ejecuta el código dentro de la función.

Cómo llamar a una función en Python: la guía definitiva

La printlínea en el código anterior también es una función. Sin embargo, si está trabajando en un entorno de Python 2, se define como una declaración. Más tarde, en Python 3, se cambió de declaración a función.

Parámetros y Argumentos

Los parámetros son los marcadores de posición en la definición de la función, mientras que los argumentos son los valores pasados ​​al llamar a la función.

Para especificar parámetros, inclúyalos entre paréntesis de la definición de la función, separados por comas si hay varios parámetros. Cuando llama a una función, proporciona los valores de entrada llamados argumentos. El siguiente ejemplo demuestra la definición de una función que toma dos parámetros:

def suma_números(a, b): devuelve a+b

La return instrucción en el cuerpo de la función devuelve la suma de los dos argumentos que se le pasan. Puede considerarlo como una calculadora, donde ingresa valores y obtiene el resultado deseado a cambio.

Después de definir la función, podemos llamarla con argumentos de nuestra elección.

sumar_numeros(3, 5)

Cómo llamar a una función en Python: la guía definitiva

El argumento de los kwargs

kwargs es la abreviatura de "argumentos de palabras clave" en Python. Le permite ampliar la flexibilidad de una función al permitir que la persona que llama especifique cualquier número de argumentos de palabras clave al llamar a la función. Los argumentos de palabras clave se pasan como un diccionario a la función.

En una definición de función, puede usar la **sintaxis de doble asterisco antes del nombre del parámetro para aceptar argumentos de palabras clave.

def mi_función(**kwargs): for clave, valor en kwargs.items(): print(f"{clave} = {valor}") mi_función(a=1, b=2, c=3)

En este ejemplo, kwargs habrá un diccionario que contenga los argumentos de palabras clave pasados ​​a la función. La salida se muestra en la siguiente imagen:

Cómo llamar a una función en Python: la guía definitiva

Llamar a una función

Llamar a una función significa ejecutar el código dentro del cuerpo de la función. Hay cuatro tipos de llamadas a funciones en Python:

  • Llamada de función básica
  • Llamar con argumentos posicionales
  • Llamar con argumentos de palabras clave

Llamada de función básica

Una llamada de función básica invoca la función sin pasar ningún argumento a la función. Después de definir una función, puede llamarla usando su nombre seguido de paréntesis.

Si la función no acepta ningún argumento, los paréntesis estarán vacíos. El siguiente código es un ejemplo de una función básica.

def mensaje_de_bienvenida(): print("¡Bienvenido a LuckyTemplates!") mensaje_de_bienvenida()

Ejecutar el código anterior da el siguiente resultado:

Cómo llamar a una función en Python: la guía definitiva

Argumentos posicionales

Los argumentos posicionales son el tipo de argumento más común y se pasan a la función en el mismo orden en que se especifican. El siguiente es un ejemplo de una llamada de función con argumentos posicionales:

def mensaje_de_bienvenida(nombre): print(f"¡Bienvenido a LuckyTemplates, {nombre}!") mensaje_de_bienvenida("Juan")

En el ejemplo anterior, la welcome_message()función toma un argumento, name. Cuando llame a esta función con el argumento John, imprimirá el mensaje junto al nombre.

El código anterior da el siguiente resultado:

Cómo llamar a una función en Python: la guía definitiva

Argumentos de palabras clave

Otra forma de pasar argumentos a una función es usar argumentos de palabras clave. Los argumentos de palabras clave le permiten especificar el nombre del parámetro junto con su valor, lo que hace que el código sea más legible y reduce la posibilidad de pasar argumentos en el orden incorrecto. 

El siguiente ejemplo utiliza argumentos de palabras clave para llamar a la welcome_messagefunción:

def mensaje_de_bienvenida(nombre, mensaje='¡Bienvenido a LuckyTemplates!'): print(mensaje, nombre) mensaje_de_bienvenida(nombre='Alice', mensaje='Buenos días')

En este ejemplo, hemos definido una función welcome_message()que tiene dos parámetros, name, y message. El parámetro del mensaje tiene un argumento predeterminado de Welcome to LuckyTemplates!Al llamar a la función, usamos argumentos de palabras clave para pasar el valor John, lo que da como resultado la salidaWelcome to LuckyTemplates! John.

Cómo llamar a una función en Python: la guía definitiva

Valores devueltos

Cuando trabaje con funciones, a menudo querrá devolver el resultado de las operaciones dentro del cuerpo de su función. Los valores devueltos permiten que una función envíe un resultado a la persona que llama. Al comprender cómo trabajar con valores de retorno únicos y múltiples, puede mejorar la funcionalidad de sus programas de Python.

Valor de retorno único

Una función de valor de retorno único devuelve un valor de las operaciones en una función.

A continuación se muestra un ejemplo de una función de valor de retorno único:

def get_saludo(nombre): return "Hola, " + nombre + "!" saludo = get_greeting("Alicia") print(saludo)

En el ejemplo anterior, la función get_greetingtoma un nombre ya que su argumento de función lo compila y devuelve un saludo personalizado. Luego, el valor de retorno se almacena en el saludo variable y se imprime en la consola.

Cómo llamar a una función en Python: la guía definitiva

Múltiples valores de retorno

A veces, se le pedirá que devuelva más de un valor de una función en Python. Para lograr esto, puede usar una tupla o una lista para envolver los valores devueltos.

A continuación se muestra un ejemplo de la función de valores de retorno múltiples en el lenguaje de programación Python.

def obtener_nombre_y_edad(): return ("Juan", 30) nombre, edad = obtener_nombre_y_edad() print(nombre) print(edad)

Cómo llamar a una función en Python: la guía definitiva

En este ejemplo, get_name_and_agees una función que devuelve una tupla con dos valores: a name y an age.

También puede devolver una lista de valores de una función en Python . La siguiente función muestra un valor de retorno de lista de una función.

def calcular_áreas(alto, ancho): return [alto * ancho, (alto * ancho) / 2] área, área_triángulo = calcular_áreas(10, 5) imprimir(área) imprimir(área_triángulo)

Cómo llamar a una función en Python: la guía definitiva

En este caso, la función calculate_areastoma dos argumentos, heighty width, y devuelve una lista que contiene el área de un rectángulo y el área de un triángulo.

Pasar funciones de Python como argumentos

Python le permite pasar funciones como argumentos a otras funciones. Cuando una función acepta otra función como argumento, se la denomina función de orden superior.

El siguiente código es un ejemplo de pasar una función a otra función en Python:

def cuadrado(x): devuelve x * x def doble(x): devuelve x * 2 def apply_func(func, x): devuelve func(x) resultado = apply_func(cuadrado, 5)

Cómo llamar a una función en Python: la guía definitiva

Funciones anidadas

Las funciones anidadas son funciones definidas dentro de otra función, también conocidas como funciones internas. Estos pueden ser útiles al crear cierres y código modular. 

Para crear una función anidada, simplemente defina una función dentro de otra función:

def función_externa(x, y): def función_interna(z): devuelve x + y + z resultado = función_interna(3) devuelve resultado # Llamar a la función externa imprimir(función_externa(1, 2))

En el ejemplo anterior, la función_interna se define dentro de la función_externa. La función interna tiene acceso a las variables de la función externa, lo que le permite realizar operaciones sobre ellas.

Cómo llamar a una función en Python: la guía definitiva

Funciones Lambda

Las funciones Lambda, también conocidas como funciones anónimas, son una forma de crear funciones pequeñas de un solo uso en Python. En proyectos de ciencia de datos, a menudo trabajará con funciones de Lambda para crear estructuras de datos y canalizaciones eficientes.

Para crear una función lambda, puede usar la palabra clave lambda seguida de una lista de argumentos, dos puntos y luego una expresión. La expresión es lo que devolverá la función lambda una vez que se llame. El siguiente es un ejemplo de la función lambda en Python:

agregar = lambda a, b: a + b resultado = agregar (3, 4) imprimir (resultado) # Salida: 7

En el ejemplo anterior, creamos una función lambda que toma dos argumentos ( a y b) y devuelve su suma. Asignamos esta función lambda a una variable llamada add.

Cómo llamar a una función en Python: la guía definitiva

Lambda puede ser útil en los siguientes escenarios:

  • Como argumentos para funciones de orden superior como map(), filter() y sorted().
  • Como funciones clave a la hora de ordenar listas o diccionarios.

El siguiente ejemplo demuestra el uso de la función de orden superior filter() con lambda:

numeros = [1, 2, 3, 4, 5, 6, 7, 8, 9] numeros_pares = lista(filtro(lambda x: x % 2 == 0, numeros)) print(numeros_pares) # Salida: [2, 4, 6, 8]


En este ejemplo, usamos una función lambda para definir los criterios de filtrado para la función filter(). La función lambda comprueba si un número es par y la función filter() devuelve una nueva lista que contiene solo los números pares.

Cómo llamar a una función en Python: la guía definitiva

Para ver un ejemplo de cómo las funciones pueden ser útiles en diferentes escenarios de ciencia de datos, vea el video a continuación:

recursividad

La recursividad es una técnica de programación en la que una función se llama a sí misma. Esta puede ser una forma útil de resolver problemas complejos dividiéndolos en subproblemas idénticos más pequeños.

Al crear una función recursiva, debe tener en cuenta dos cosas: el caso base y el caso recursivo. 

  • El caso base es la condición que detiene la recursión.
  • El caso recursivo es donde la función se llama a sí misma. El caso recursivo actúa como un iterador para la función

El siguiente ejemplo demuestra funciones recursivas en Python:

def factorial(n): si n == 1: devuelve 1 devuelve n * factorial(n - 1) factorial(5)

En este ejemplo, el caso base es when n == 1y la función devuelve 1. El caso recursivo ocurre cuando n no es igual a 1 y la función se llama a sí misma con n - 1.

Cómo llamar a una función en Python: la guía definitiva

Errores comunes y resolución de problemas

Si es un programador principiante, a menudo encontrará errores al implementar funciones como funciones recursivas y lambda. Las siguientes secciones resaltan algunos errores comunes y sugerencias de solución de problemas para ayudarlo a resolverlos de manera eficiente.

1. TypeError: falta un argumento requerido : este error ocurre cuando no proporciona la cantidad correcta de argumentos que espera la función.

def my_function(fname, lname): print(fname, lname) # Llamada correcta my_function("John", "Doe") # Provocará un error my_function("John")

Cómo llamar a una función en Python: la guía definitiva

Para corregir este error, asegúrese de pasar la cantidad correcta de argumentos a su función.

2. TypeError: tipo de operando no admitido . Este error puede ocurrir cuando intenta usar un operador con tipos incompatibles.

def add_number(a, b): return a + b # Resultado correcto de la llamada = add_number(5, 3) print(resultado) # Provocará un error debido a argumentos incorrectos result = add_number("5", 3) print(resultado)

Cómo llamar a una función en Python: la guía definitiva

Para corregir este error, verifique que sus funciones estén tratando con los tipos de datos correctos y considere usar la conversión de tipos si es necesario

3. NameError: el nombre 'function_name' no está definido : este error sugiere que la función no se ha definido antes de llamarla. 

# Orden correcto def saludo(): print("¡Hola!") saludo() # Orden incorrecto adiós() def adiós(): print("¡Adiós!")

Cómo llamar a una función en Python: la guía definitiva

Para corregir este error, asegúrese de que su función esté definida correctamente y que la llame después de su definición.

Conclusión

Para recapitular y ayudarlo a solidificar su comprensión, los siguientes puntos resumen los aspectos clave de las funciones de llamada en Python:

  • Para llamar a una función, utilice el nombre de la función seguido de paréntesis (p. ej., function_name()).
  • Si la función acepta argumentos, inclúyalos entre paréntesis (p. ej., function_name(arg1, arg2)).
  • Puede crear sus propias funciones usando la palabra clave def, definiendo el alcance de la función y los argumentos requeridos.
  • Al llamar a una función que devuelve un valor, puede asignar el resultado a una variable para su uso posterior (p. ej., result = function_name(args)).

Leave a Comment

Time Intelligence en LuckyTemplates: cómo calcular el número de transacciones realizadas en los últimos N días

Time Intelligence en LuckyTemplates: cómo calcular el número de transacciones realizadas en los últimos N días

Descubra cómo calcular el total de transacciones realizadas en los últimos N días y obtenga información útil utilizando la inteligencia de tiempo en LuckyTemplates.

Cómo evaluar clústeres en sus datos mediante la técnica DAX en LuckyTemplates

Cómo evaluar clústeres en sus datos mediante la técnica DAX en LuckyTemplates

En este tutorial, demuestro cómo mostrar clústeres en sus datos permite extraer información valiosa usando técnicas DAX avanzadas.

¿Cuánto personal tenemos actualmente? Lógica de fechas múltiples en LuckyTemplates usando DAX

¿Cuánto personal tenemos actualmente? Lógica de fechas múltiples en LuckyTemplates usando DAX

En este tutorial, aprenderá a calcular la <strong>población actual del personal</strong> para las relaciones múltiples de la tabla de calendario mediante la función COUNTROWS y FILTER en LuckyTemplates.

Hacer una solicitud HTTP en Power Automate

Hacer una solicitud HTTP en Power Automate

Aprenda a crear una solicitud HTTP con Power Automate y cómo implementar soluciones efectivas para la automatización de tareas.

Programe un flujo de escritorio para que se ejecute en Power Automate

Programe un flujo de escritorio para que se ejecute en Power Automate

En este tutorial, aprenda cómo programar un flujo de escritorio en Power Automate para automatizar tareas en la web y su escritorio.

Power Automate Terminar Control de acción en flujos

Power Automate Terminar Control de acción en flujos

Aprenda a usar correctamente el control Terminar acción de Power Automate que termina las acciones en un flujo si no se cumple alguna de las condiciones.

Power Query: combinar archivos de varias carpetas

Power Query: combinar archivos de varias carpetas

Aprenda a combinar archivos de varias carpetas en su red, escritorio, OneDrive o SharePoint utilizando Power Query.

Tipos de flujo de Power Automate y cuándo usarlos

Tipos de flujo de Power Automate y cuándo usarlos

En este blog, analizamos las similitudes y diferencias entre los tipos de flujo de Power Automate y determinamos cuándo usar cada flujo. Encuentra la mejor opción de automatización.

Conectores de Power Automate: número, texto y fecha y hora

Conectores de Power Automate: número, texto y fecha y hora

Familiarízate con algunos conectores Power Automate integrados que transforman cadenas en otro formato: número, texto y fecha y hora.

Tutorial del analizador VertiPaq: relaciones e integridad referencial

Tutorial del analizador VertiPaq: relaciones e integridad referencial

Este tutorial detallado sobre el analizador VertiPaq en DAX Studio le enseñará cómo usar la pestaña Relaciones para optimizar su DAX y resolver problemas de integridad referencial.