Funciones#

Introducción#

Las funciones son un componente fundamental de la programación en Python, ya que empaquetan fragmentos de código en secciones reutilizables y eficientes diseñadas para realizar una tarea específica. 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 de código. Además, las funciones facilitan la depuración del código.

Importante: Definir una función por sí sola no la hace ejecutarse. Use cte_thread para iniciar una función en un nuevo hilo para que comience a ejecutarse inmediatamente al inicio 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 de vuelta 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, lo que permite pasar datos a la misma.

result

Opcional. Permite que la función devuelva un resultado a quien la llama. Si una función no incluye una instrucción return, devolverá None por defecto.

Nota: Una función debe siempre estar definida antes de ser llamada.

Definición y llamada de funciones#

Functions with No Parameters#

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

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

# Call the greeting function
greeting()

Functions with Parameters#

También puedes añadir parámetros a las funciones, lo que te permite pasarles la información que necesitan para funcionar.

def move_square(moves):
    for index in range(moves):
        arm.move_inc(100, 0, 0)
        arm.move_inc(0, 100, 0)
        arm.move_inc(-100, 0, 0)
        arm.move_inc(0, 100, 0)

# Call the move_square function
move_square(4)

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.

def move_square(moves=4):
    for index in range(moves):
        arm.move_inc(100, 0, 0)
        arm.move_inc(0, 100, 0)
        arm.move_inc(-100, 0, 0)
        arm.move_inc(0, 100, 0)

# Call the move_square function
move_square()

Return Values from Functions#

Las funciones pueden devolver datos a quien las llama mediante la palabra clave return . Esto permite capturar y utilizar la salida en el programa.

def times_two(number):
    return number * 2

# Display the return value
print(times_two(2))

hilo cte#

cte_thread inicia una función en un nuevo hilo para que comience a ejecutarse inmediatamente al inicio del proyecto.

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

Usage:
cte_thread(function)

Parámetro

Descripción

function

El nombre de una función definida previamente.

def move_square():
    # Move in a square path
    while True:
        arm.move_inc(100, 0, 0)
        arm.move_inc(0, 100, 0)
        arm.move_inc(-100, 0, 0)
        arm.move_inc(0, 100, 0)

def lights():
    # Set the Signal Tower to start blinking the blue LED
    signal_tower.set_color(SignalTower.BLUE, SignalTower.BLINK)

# Start threads — Do not delete
cte_thread(move_square)
cte_thread(lights)