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í.
defdefinuje funkci.returnodeš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 |
|---|---|
|
Název, který dáte své funkci. |
|
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. |
|
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í |
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 |
|---|---|
|
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)