Funkce#

Zavedení#

Funkce jsou základní součástí programování v Pythonu, balí úryvky kódu do opakovaně použitelných a efektivních částí kódu určených k provádění konkrétního úkolu. Funkce lze v programu volat vícekrát, což usnadňuje organizaci kódu a pomáhá vyhnout se opakování kódu. Funkce také usnadňují ladění kódu.

Důležité: Samotná definice funkce ji ještě nespustí. Pomocí cte_thread spustíte funkci v novém vlákně, aby se spustil ihned na začátku projektu, namísto čekání na událost nebo zpětné volání.

  • def definuje funkci.

  • return odešle výstup funkce zpět do hlavního programu.

Používání:

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

Parametry

Popis

function_name

Název, který dáte své funkci.

parameters

Volitelné. Proměnné, které přijímají vstupní hodnoty při volání funkce a umožňují tak předávání dat do funkce.

result

Volitelné. Umožňuje funkci odeslat výsledek zpět volajícímu. Pokud funkce neobsahuje příkaz return, vrátí ve výchozím nastavení None.

Poznámka: Funkce musí být vždy definována před svým voláním.

Definování a volání funkcí#

Functions with No Parameters#

Pokud funkce nevyžaduje vstup, můžete ji definovat bez parametrů.

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

# Call the greeting function
greeting()

Functions with Parameters#

Funkcem můžete také přidat parametry, které vám umožní předat informace, které funkce potřebuje k fungování.

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#

Výchozí argument je parametr, který předpokládá výchozí hodnotu, pokud hodnota není zadána ve volání funkce pro daný argument.

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#

Funkce mohou odesílat data zpět volajícímu pomocí klíčového slova return To umožňuje zachytit a použít výstup ve vašem programu.

def times_two(number):
    return number * 2

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

cte_thread#

cte_thread spouští funkci v novém vlákně, takže se začne běžet ihned na začátku projektu.

Pokud se použije více než jedno vlákno cte_thread , funkce budou běžet souběžně.

Usage:
cte_thread(function)

Parametr

Popis

function

Název dříve definované funkce.

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)