Functies#
Invoering#
Functies vormen een fundamenteel onderdeel van Python-programmering. Ze bundelen codefragmenten in herbruikbare, efficiënte codeblokken die ontworpen zijn om een specifieke taak uit te voeren. Functies kunnen meerdere keren binnen een programma worden aangeroepen, wat de code-organisatie vereenvoudigt en helpt om herhaalde code te voorkomen. Functies maken de code ook gemakkelijker te debuggen.
Belangrijk: Het definiëren van een functie alleen zorgt er niet voor dat deze wordt uitgevoerd. Gebruik cte_thread om een functie in een nieuwe thread te starten, zodat deze direct bij de start van het project wordt uitgevoerd, in plaats van te wachten op een gebeurtenis of callback.
defdefinieert een functie.returnstuurt de uitvoer van de functie terug naar het hoofdprogramma.
Gebruik:
def function_name(parameters):
# Code to execute when the function is called
return result # Optional, used to return a value
Parameters |
Beschrijving |
|---|---|
|
Een naam die je aan je functie geeft. |
|
Optioneel. Variabelen die invoerwaarden accepteren wanneer de functie wordt aangeroepen, waardoor gegevens aan de functie kunnen worden doorgegeven. |
|
Optioneel. Hiermee kan de functie een resultaat terugsturen naar de aanroeper. Als een functie geen return-statement bevat, retourneert deze standaard |
Let op: Een functie moet altijd gedefinieerd zijn voordat deze wordt aangeroepen.
Functies definiëren en aanroepen#
Functions with No Parameters#
Als een functie geen invoer vereist, kunt u deze zonder parameters definiëren.
def greeting():
brain.print("Hello!")
# Call the greeting function
greeting()
Functions with Parameters#
Je kunt ook parameters aan functies toevoegen, waarmee je informatie kunt doorgeven die de functie nodig heeft om te werken.
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#
Een standaardargument is een parameter die een standaardwaarde aanneemt als er geen waarde wordt opgegeven in de functieaanroep voor dat 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#
Functies kunnen gegevens terugsturen naar de aanroeper met behulp van het sleutelwoord return . Hierdoor kunt u de uitvoer vastleggen en in uw programma gebruiken.
def times_two(number):
return number * 2
# Display the return value
print(times_two(2))
cte_thread#
cte_thread start een functie in een nieuwe thread, zodat deze direct bij de start van het project begint te draaien.
Als er meer dan één cte_thread wordt gebruikt, worden de functies gelijktijdig uitgevoerd.
Usage:
cte_thread(function)
Parameter |
Beschrijving |
|---|---|
|
De naam van een eerder gedefinieerde functie. |
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)