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 cte_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.
defdefine uma função.returnenvia 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 |
|---|---|
|
Um nome que dá à sua função. |
|
Opcional. Variáveis que aceitam valores de entrada quando a função é chamada, permitindo que os dados sejam passados para a função. |
|
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 |
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():
brain.print("Hello!")
# Call the greeting function
greeting()
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.
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#
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.
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#
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
# Display the return value
print(times_two(2))
cte_thread#
cte_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 cte_thread , as funções serão executadas em simultâneo.
Usage:
cte_thread(function)
Parâmetro |
Descrição |
|---|---|
|
O nome de uma função previamente definida. |
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)