Funções#

Introdução#

As funções são uma componente fundamental da programação em Python, agrupando excertos de código em secções reutilizáveis ​​eficientes, concebidas para executar uma tarefa específica. As funções podem ser chamadas várias vezes dentro de um programa, facilitando a organização do código e ajudando a evitar repetições. Além disso, as funções facilitam a depuração do código.

Importante: A definição de uma função por si só não a faz executar. Utilize start_thread para iniciar uma função num novo thread, de modo a que comece a ser executada imediatamente no início do projeto, em vez de esperar por um evento ou callback.

  • def define uma função.

  • return envia a saída da função de volta para o programa principal.

Utilização:

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

Parâmetros

Descrição

function_name

Um nome que dá à sua função.

parameters

Opcional. Variáveis ​​que aceitam valores de entrada quando a função é chamada, permitindo que os dados sejam passados ​​para a função.

result

Opcional. Permite que a função envie um resultado de volta para o chamador. Se uma função não incluir uma instrução de retorno, esta irá devolver None por defeito.

Nota: Uma função deve ser sempre definida antes de ser chamada.

Definir e Chamar Funções#

Functions with No Parameters#

Se uma função não necessitar de entrada, pode defini-la sem 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#

Pode também adicionar parâmetros às funções, o que permite passar informação necessária para que a função funcione.

# 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#

Um argumento por defeito é um parâmetro que assume um valor por defeito no caso de não ser fornecido qualquer valor na chamada da função para esse 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#

As funções podem enviar dados de volta para quem as chamou usando a palavra-chave return . Isto permite capturar e utilizar a saída no seu 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)

iniciar_thread#

start_thread inicia uma função numa nova thread para que esta comece a ser executada imediatamente no início do projeto.

Se for utilizada mais do que uma instância de start_thread , as funções serão executadas em simultâneo.

Usage:
start_thread(function)

Parâmetros

Descrição

function

O nome de uma função 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)