Contenido del Curso
Introducción a Python
Introducción a Python
Modificando Funciones
En programación, las funciones son herramientas dinámicas que pueden adaptarse a diferentes situaciones y necesidades. No son solo bloques de código fijos. Puedes mejorar las funciones para hacerlas más versátiles y fáciles de usar en varios contextos.
En este capítulo, exploraremos algunas técnicas importantes para modificar funciones, como el uso de argumentos por defecto y argumentos de palabras clave.
Comencemos con un ejemplo sencillo de modificar funciones para mejorar su utilidad en nuestro sistema de gestión de tiendas de comestibles:
Argumentos por Defecto
Los argumentos por defecto son una característica útil en Python que te permiten especificar valores predeterminados para los parámetros de función.
En la función apply_discount()
, el parámetro discount
se establece en 0.10
por defecto. Esto significa que la función aplicará automáticamente un descuento del 10% a menos que se especifique lo contrario. Como se ve en la variable default_discount_price
, podemos llamar a la función solo con el parámetro price
.
Sin embargo, si es necesario, podemos anular el valor predeterminado pasando tanto el price
como un discount
personalizado (por ejemplo, 0.20
para 20%) como se demuestra con la variable custom_discount_price
.
# Define a function with a default `discount` argument def apply_discount(price, discount=0.10): discounted_price = price * (1 - discount) return discounted_price # Call the function without providing a `discount`, using the default value default_discount_price = apply_discount(100) print(f"Price after applying the default discount: ${default_discount_price}") # Call the function with a custom `discount` value custom_discount_price = apply_discount(100, 0.20) print(f"Price after applying a custom discount: ${custom_discount_price}")
Argumentos de Palabra Clave
Los argumentos de palabra clave en Python te permiten pasar argumentos nombrando explícitamente cada parámetro, haciendo que tus llamadas a funciones sean más legibles y flexibles. Esto es particularmente útil cuando una función tiene múltiples parámetros o cuando el orden de los argumentos podría ser confuso.
En el siguiente ejemplo, tanto price
como discount
están especificados, mientras que el parámetro tax
permanece en su valor por defecto, proporcionando flexibilidad sin comprometer la claridad.
# Function where `tax` has a default value def calculate_total(price, discount, tax=0.05): total = price * (1 + tax) * (1 - discount) return total # Calling the function using keyword arguments total_cost = calculate_total(price=100, discount=0.15) print(f"Total cost after applying discount: ${total_cost}")
Nota
El orden de los parámetros no importa cuando se pasan usando argumentos de palabra clave.
Swipe to start coding
En esta tarea, crearás una serie de funciones para calcular el costo total de un producto aplicando tanto un descuento como un impuesto. Estas funciones utilizarán argumentos de palabra clave y valores predeterminados para proporcionar flexibilidad en su uso.
Instrucciones de Código
- Define una función
apply_discount()
que acepteprice
y un parámetro opcionaldiscount
con un valor predeterminado de 0.05 (5%). Esta función debe devolver el precio después de aplicar el descuento. - Define una función
apply_tax()
que acepteprice
y un parámetro opcionaltax
con un valor predeterminado de 0.07 (7%). Esta función debe devolver el precio después de agregar el impuesto. - Define una función
calculate_total()
que tomeprice
como un parámetro requerido y parámetros opcionalesdiscount
ytax
con valores predeterminados de 0.05 y 0.07, respectivamente. Esta función debe usarapply_discount()
yapply_tax()
para calcular el precio total después de aplicar tanto el descuento como el impuesto. - Usa la función
calculate_total()
con un precio de120
, utilizando los valores predeterminados de descuento e impuesto. - Llama a la función
calculate_total()
nuevamente con un precio de100
, especificando un descuento personalizado de 0.10 (10%) e impuesto de 0.08 (8%) usando argumentos de palabra clave.
Requisitos de Salida
- Imprime el costo total con el descuento e impuesto predeterminados usando el mensaje:
Total cost with default discount and tax: $<total_price_default>
- Imprime el costo total con descuento e impuesto personalizados usando el mensaje:
Total cost with custom discount and tax: $<total_price_custom>
Nota
Al definir funciones con parámetros regulares y predeterminados, siempre coloca los parámetros regulares primero, seguidos de los parámetros predeterminados. De manera similar, al llamar a una función con argumentos de palabra clave, los parámetros regulares deben pasarse primero, seguidos de los argumentos de palabra clave.
Solución
¡Gracias por tus comentarios!
Modificando Funciones
En programación, las funciones son herramientas dinámicas que pueden adaptarse a diferentes situaciones y necesidades. No son solo bloques de código fijos. Puedes mejorar las funciones para hacerlas más versátiles y fáciles de usar en varios contextos.
En este capítulo, exploraremos algunas técnicas importantes para modificar funciones, como el uso de argumentos por defecto y argumentos de palabras clave.
Comencemos con un ejemplo sencillo de modificar funciones para mejorar su utilidad en nuestro sistema de gestión de tiendas de comestibles:
Argumentos por Defecto
Los argumentos por defecto son una característica útil en Python que te permiten especificar valores predeterminados para los parámetros de función.
En la función apply_discount()
, el parámetro discount
se establece en 0.10
por defecto. Esto significa que la función aplicará automáticamente un descuento del 10% a menos que se especifique lo contrario. Como se ve en la variable default_discount_price
, podemos llamar a la función solo con el parámetro price
.
Sin embargo, si es necesario, podemos anular el valor predeterminado pasando tanto el price
como un discount
personalizado (por ejemplo, 0.20
para 20%) como se demuestra con la variable custom_discount_price
.
# Define a function with a default `discount` argument def apply_discount(price, discount=0.10): discounted_price = price * (1 - discount) return discounted_price # Call the function without providing a `discount`, using the default value default_discount_price = apply_discount(100) print(f"Price after applying the default discount: ${default_discount_price}") # Call the function with a custom `discount` value custom_discount_price = apply_discount(100, 0.20) print(f"Price after applying a custom discount: ${custom_discount_price}")
Argumentos de Palabra Clave
Los argumentos de palabra clave en Python te permiten pasar argumentos nombrando explícitamente cada parámetro, haciendo que tus llamadas a funciones sean más legibles y flexibles. Esto es particularmente útil cuando una función tiene múltiples parámetros o cuando el orden de los argumentos podría ser confuso.
En el siguiente ejemplo, tanto price
como discount
están especificados, mientras que el parámetro tax
permanece en su valor por defecto, proporcionando flexibilidad sin comprometer la claridad.
# Function where `tax` has a default value def calculate_total(price, discount, tax=0.05): total = price * (1 + tax) * (1 - discount) return total # Calling the function using keyword arguments total_cost = calculate_total(price=100, discount=0.15) print(f"Total cost after applying discount: ${total_cost}")
Nota
El orden de los parámetros no importa cuando se pasan usando argumentos de palabra clave.
Swipe to start coding
En esta tarea, crearás una serie de funciones para calcular el costo total de un producto aplicando tanto un descuento como un impuesto. Estas funciones utilizarán argumentos de palabra clave y valores predeterminados para proporcionar flexibilidad en su uso.
Instrucciones de Código
- Define una función
apply_discount()
que acepteprice
y un parámetro opcionaldiscount
con un valor predeterminado de 0.05 (5%). Esta función debe devolver el precio después de aplicar el descuento. - Define una función
apply_tax()
que acepteprice
y un parámetro opcionaltax
con un valor predeterminado de 0.07 (7%). Esta función debe devolver el precio después de agregar el impuesto. - Define una función
calculate_total()
que tomeprice
como un parámetro requerido y parámetros opcionalesdiscount
ytax
con valores predeterminados de 0.05 y 0.07, respectivamente. Esta función debe usarapply_discount()
yapply_tax()
para calcular el precio total después de aplicar tanto el descuento como el impuesto. - Usa la función
calculate_total()
con un precio de120
, utilizando los valores predeterminados de descuento e impuesto. - Llama a la función
calculate_total()
nuevamente con un precio de100
, especificando un descuento personalizado de 0.10 (10%) e impuesto de 0.08 (8%) usando argumentos de palabra clave.
Requisitos de Salida
- Imprime el costo total con el descuento e impuesto predeterminados usando el mensaje:
Total cost with default discount and tax: $<total_price_default>
- Imprime el costo total con descuento e impuesto personalizados usando el mensaje:
Total cost with custom discount and tax: $<total_price_custom>
Nota
Al definir funciones con parámetros regulares y predeterminados, siempre coloca los parámetros regulares primero, seguidos de los parámetros predeterminados. De manera similar, al llamar a una función con argumentos de palabra clave, los parámetros regulares deben pasarse primero, seguidos de los argumentos de palabra clave.
Solución
¡Gracias por tus comentarios!