Funkcje#

Wstęp#

Funkcje są fundamentalnym elementem programowania w Pythonie, umożliwiając pakowanie fragmentów kodu w wydajne, wielokrotnego użytku sekcje kodu, przeznaczone do wykonywania określonych zadań. Funkcje można wywoływać wielokrotnie w programie, co ułatwia organizację kodu i pomaga uniknąć jego powtarzania. Funkcje ułatwiają również debugowanie kodu.

Ważne: Samo zdefiniowanie funkcji nie powoduje jej uruchomienia. Użyj cte_thread, aby uruchomić funkcję w nowym wątku, dzięki czemu zacznie ona działać od razu na początku projektu, zamiast czekać na zdarzenie lub wywołanie zwrotne.

  • def definiuje funkcję.

  • return wysyła dane wyjściowe funkcji z powrotem do programu głównego.

Stosowanie:

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

Parametry

Opis

function_name

Nazwa, którą nadajesz swojej funkcji.

parameters

Opcjonalne. Zmienne, które akceptują wartości wejściowe po wywołaniu funkcji, umożliwiając przekazanie danych do funkcji.

result

Opcjonalnie. Pozwala funkcji na wysłanie wyniku z powrotem do wywołującego. Jeśli funkcja nie zawiera instrukcji return, domyślnie zwróci None.

Uwaga: Funkcja musi zawsze zostać zdefiniowana przed jej wywołaniem.

Definiowanie i wywoływanie funkcji#

Functions with No Parameters#

Jeśli funkcja nie wymaga danych wejściowych, można ją zdefiniować bez parametrów.

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

# Call the greeting function
greeting()

Functions with Parameters#

Do funkcji można również dodawać parametry, które umożliwiają przekazywanie informacji niezbędnych do działania funkcji.

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#

Argument domyślny to parametr, który przyjmuje wartość domyślną, jeśli w wywołaniu funkcji dla tego argumentu nie podano wartości.

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#

Funkcje mogą odsyłać dane do wywołującego za pomocą słowa kluczowego return Pozwala to na przechwycenie i wykorzystanie danych wyjściowych w programie.

def times_two(number):
    return number * 2

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

wątek cte#

cte_thread uruchamia funkcję w nowym wątku, więc zacznie ona działać od razu na początku projektu.

Jeżeli użyto więcej niż jednego cte_thread cte_thread , funkcje będą działać równolegle.

Usage:
cte_thread(function)

Parametr

Opis

function

Nazwa wcześniej zdefiniowanej funkcji.

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)