Funciones#

Introducción#

Las funciones son un componente fundamental de la programación de Python, ya que empaquetan fragmentos de código en secciones de código reutilizables y eficientes diseñadas para realizar una tarea específica. Las funciones se pueden llamar varias veces dentro de un programa, lo que facilita la organización del código y ayuda a evitar la repetición del código. Las funciones también hacen que el código sea más fácil de depurar.

Importante: Definir una función por sí sola no hace que se ejecute. Use start_thread para iniciar una función en un nuevo subproceso para que comience a ejecutarse de inmediato al comienzo del proyecto, en lugar de esperar un evento o una devolución de llamada.

  • def define una función.

  • return envía la salida de la función al programa principal.

Uso:

def function_name(parameters):
    # Code to execute when the function is called
    return result  # Optional, used to return a value

Parámetros

Descripción

function_name

Un nombre que le das a tu función.

parameters

Opcional. Variables que aceptan valores de entrada cuando se llama a la función, permitiendo que los datos se pasen a la función.

result

Opcional. Permite que la función envíe un resultado a la persona que llama. Si una función no incluye una declaración de devolución, devolverá None de forma predeterminada.

Nota: Una función debe definirse siempre antes de que se llame.

Definición y funciones de llamada#

Functions with No Parameters#

Si una función no requiere entrada, puede definirla sin parámetros.

def greeting():
    console.print("Hello!")

def main():
    # Call the greeting function
    greeting()

# Start threads — Do not delete
start_thread(main)

Functions with Parameters#

También puede agregar parámetros a las funciones, que le permiten pasar la información que la función necesita para funcionar.

# Build Used: Super Code Base 2.0
def move_square(moves):
    for index in range(moves):
        drivetrain.drive_for(FORWARD, 150)
        drivetrain.turn_for(RIGHT, 90)

def main():
    # Call the move_square function
    move_square(4)
    

# Start threads — Do not delete
start_thread(main)

Functions with Default Arguments#

Un argumento predeterminado es un parámetro que asume un valor predeterminado si no se proporciona un valor en la llamada a la función para ese argumento.

# Build Used: Super Code Base 2.0
def move_square(moves=4):
    for index in range(moves):
        drivetrain.drive_for(FORWARD, 150)
        drivetrain.turn_for(RIGHT, 90)

def main():
    # Call the move_square function
    move_square()
    

# Start threads — Do not delete
start_thread(main)

Return Values from Functions#

Las funciones pueden enviar datos a la persona que llama utilizando la palabra clave return. Esto le permite capturar y usar la salida en su programa.

def times_two(number):
    return number * 2

def main():
    # Display the return value
    console.print(times_two(2))

# Start threads — Do not delete
start_thread(main)

start_thread#

start_thread inicia una función en un nuevo subproceso, por lo que comienza a ejecutarse de inmediato al comienzo del proyecto.

Si se utiliza más de un start_thread _Thread, las funciones se ejecutarán simultáneamente.

Uso:
start_thread(function)

Parámetros

Descripción

function

El nombre de una función previamente definida.

# Build Used: Super Code Base 2.0
def move_square():
    # Move in a square path
    while True:
        drivetrain.drive_for(FORWARD, 150)
        drivetrain.turn_for(RIGHT, 90)

def led_lights():
    # Blink LED lights
    while True:
        bumper.set_color(GREEN)
        wait(0.5, SECONDS)
        bumper.set_color(RED)
        wait(0.5, SECONDS)

# Start threads — Do not delete
start_thread(move_square)
start_thread(led_lights)