Lección 15 · 15 de 20
Funciones · Python
Cree sus propias funciones en Python con def, páseles datos y devuelva resultados con return, con los tiques de una cafetería.

Una función es un bloque de código con nombre que se puede usar tantas veces como haga falta. Se crea con def, el nombre, paréntesis y dos puntos; el cuerpo va con sangría. Crearla no la ejecuta: welcome() la llama, y entonces se escriben el saludo y la raya.
Entre los paréntesis se pueden poner parámetros: nombres que reciben los valores de la llamada. En serve("latte"), drink vale "latte"; en la siguiente llamada vale "hot chocolate". Así, una sola función sirve para cualquier bebida.
return devuelve un resultado a quien llamó. with_vat(2.50) calcula el precio con el 21 % de IVA y lo devuelve, de modo que la llamada se puede usar dentro de una f-string, guardar en una variable o sumar con otra: with_vat(3.00) + with_vat(1.80).
Una función puede llamar a otras: receipt_line() usa with_vat() para escribir cada línea del tique con el nombre alineado a la izquierda y el precio a la derecha.
Código · main.py
# def creates a function: a named block of code you can reuse.def welcome(): print("Welcome to the Python Cafe!") print("-" * 27)welcome()# A function can receive a value (a parameter)...def serve(drink): print(f"One {drink}, coming right up.")serve("latte")serve("hot chocolate")# ...and give back a result with return.def with_vat(price): return price * 1.21print(f"A 2.50 tea costs {with_vat(2.50):.2f} with VAT.")# The result can be stored and used like any other value.total = with_vat(3.00) + with_vat(1.80)print(f"Coffee and a croissant: {total:.2f}")# A function can call other functions.def receipt_line(drink, price): print(f"{drink:<14}{with_vat(price):>6.2f}")receipt_line("Cappuccino", 2.80)receipt_line("Orange juice", 3.20)Salida · python3 main.py
Welcome to the Python Cafe! --------------------------- One latte, coming right up. One hot chocolate, coming right up. A 2.50 tea costs 3.02 with VAT. Coffee and a croissant: 5.81 Cappuccino 3.39 Orange juice 3.87
Para recordar
def nombre(parámetros):crea una función.- La función solo se ejecuta cuando se la llama:
nombre(...). - Los parámetros reciben los valores de la llamada.
returndevuelve un resultado que se puede guardar o usar.
Ejercicio
Escriba una función to_fahrenheit(celsius) que devuelva celsius * 9 / 5 + 32 y úsela en un for para convertir 0, 20, 37 y 100 grados.