Functies#

Invoering#

Functies vormen een fundamenteel onderdeel van Python-programmering. Ze bundelen codefragmenten in herbruikbare, efficiënte codeblokken die zijn ontworpen 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 vr_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.

  • def definieert een functie.

  • return stuurt 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

function_name

Een naam die je aan je functie geeft.

parameters

Optioneel. Variabelen die invoerwaarden accepteren wanneer de functie wordt aangeroepen, waardoor gegevens aan de functie kunnen worden doorgegeven.

result

Optioneel. Hiermee kan de functie een resultaat terugsturen naar de aanroeper. Als een functie geen return-statement bevat, retourneert deze standaard None.

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.

# Define a function to display a message
def greeting():
    brain.print("Hello!")

def main():
    # Call the function to display the message
    greeting()

# VR threads — Do not delete
vr_thread(main)

Functions with Parameters#

Je kunt ook parameters aan functies toevoegen, waarmee je informatie kunt doorgeven die de functie nodig heeft om te werken.

# Define a function with a parameter
def named_greeting(name):
    brain.print("Hello, " + name + "!")

def main():
    named_greeting("Stranger")

# VR threads — Do not delete
vr_thread(main)

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.

# Define a function with a parameter and a default argument
def named_greeting(name = "Stranger"):
    brain.print("Hello, " + name + "!")

def main():
    # Use the default argument
    named_greeting()
    brain.new_line()
    # Change the parameter to a different name
    named_greeting("VR")

# VR threads — Do not delete
vr_thread(main)

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.

# Define a function that multiplies numbers by 2
def times_two(number):
    return number * 2

def main():
    # Display the return value
    brain.print(times_two(2))

# VR threads — Do not delete
vr_thread(main)

vr_thread#

De VR Thread-functie moet worden gebruikt om functies op globaal niveau van het script aan te roepen.

Je kunt elke functie die je eerder hebt gemaakt, doorgeven aan vr_thread() op globaal niveau. Het aanroepen van ten minste één functie binnen deze functie is vereist om een ​​programma uit te voeren. Je hoeft niet alle functieaanroepen met vr_thread()uit te voeren, alleen die op globaal niveau.

Als er meer dan één aanroep vr_thread() plaatsvindt, worden de functies parallel uitgevoerd.

De functies worden over het algemeen uitgevoerd in de volgorde waarin ze worden aangeroepen. Als een functie echter wacht, geeft deze de uitvoering door aan de volgende functie en gaat verder wanneer de andere functie klaar is, of wanneer die andere functie ook wacht.

Usage:
vr_thread(function)

Parameter

Beschrijving

function

De naam van een eerder gedefinieerde functie.

# Define the function "main".
def main():
    drivetrain.drive_for(FORWARD, 400, MM)

# Call VR thread for any previously defined functions.
vr_thread(main)