Συναρτήσεις#

Εισαγωγή#

Οι συναρτήσεις αποτελούν θεμελιώδες στοιχείο του προγραμματισμού Python, καθώς συσκευάζουν αποσπάσματα κώδικα σε επαναχρησιμοποιήσιμα, αποτελεσματικά τμήματα κώδικα που έχουν σχεδιαστεί για να εκτελούν μια συγκεκριμένη εργασία. Οι συναρτήσεις μπορούν να κληθούν πολλές φορές μέσα σε ένα πρόγραμμα, διευκολύνοντας την οργάνωση του κώδικα και συμβάλλοντας στην αποφυγή επαναλαμβανόμενου κώδικα. Οι συναρτήσεις διευκολύνουν επίσης την αποσφαλμάτωση του κώδικα.

Σημαντικό: Ο ορισμός μιας συνάρτησης από μόνος του δεν την κάνει να εκτελεστεί. Χρησιμοποιήστε vr_thread για να ξεκινήσετε μια συνάρτηση σε ένα νέο νήμα, ώστε να αρχίσει να εκτελείται αμέσως από την αρχή του έργου, αντί να περιμένει ένα συμβάν ή μια επανάκληση.

  • def ορίζει μια συνάρτηση.

  • Η συνάρτηση return στέλνει την έξοδο της συνάρτησης πίσω στο κύριο πρόγραμμα.

Χρήση:

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

Παράμετροι

Περιγραφή

function_name

Ένα όνομα που δίνετε στη συνάρτησή σας.

parameters

Προαιρετικά. Μεταβλητές που δέχονται τιμές εισόδου όταν καλείται η συνάρτηση, επιτρέποντας τη διαβίβαση δεδομένων στη συνάρτηση.

result

Προαιρετικό. Επιτρέπει στη συνάρτηση να στείλει ένα αποτέλεσμα πίσω στον καλούντα. Εάν μια συνάρτηση δεν περιλαμβάνει μια εντολή return, θα επιστρέψει None από προεπιλογή.

Σημείωση: Μια συνάρτηση πρέπει πάντα να ορίζεται πριν την κλήση της.

Ορισμός και κλήση συναρτήσεων#

Functions with No Parameters#

Εάν μια συνάρτηση δεν απαιτεί εισαγωγή δεδομένων, μπορείτε να την ορίσετε χωρίς παραμέτρους.

# 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#

Μπορείτε επίσης να προσθέσετε παραμέτρους σε συναρτήσεις, οι οποίες σας επιτρέπουν να μεταβιβάζετε πληροφορίες που χρειάζεται η συνάρτηση για να λειτουργήσει.

# 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#

Ένα προεπιλεγμένο όρισμα είναι μια παράμετρος που υποθέτει μια προεπιλεγμένη τιμή εάν δεν παρέχεται τιμή στην κλήση συνάρτησης για αυτό το όρισμα.

# 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#

Οι συναρτήσεις μπορούν να στείλουν δεδομένα πίσω στον καλούντα χρησιμοποιώντας τη λέξη-κλειδί return Αυτό σας επιτρέπει να καταγράψετε και να χρησιμοποιήσετε την έξοδο στο πρόγραμμά σας.

# 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#

Η συνάρτηση VR Thread πρέπει να χρησιμοποιείται για την κλήση συναρτήσεων σε καθολικό επίπεδο του σεναρίου.

Μπορείτε να πάρετε οποιαδήποτε συνάρτηση έχετε δημιουργήσει προηγουμένως και να την περάσετε στην vr_thread() σε καθολικό επίπεδο. Η κλήση τουλάχιστον μίας συνάρτησης μέσα σε αυτήν είναι απαραίτητη για την εκτέλεση ενός προγράμματος. Δεν χρειάζεται να κάνετε όλες τις κλήσεις συνάρτησης με vr_thread(), μόνο αυτές που βρίσκονται σε καθολικό επίπεδο.

Εάν πραγματοποιηθούν περισσότερες από μία κλήσεις vr_thread() , οι συναρτήσεις θα εκτελούνται παράλληλα.

Οι συναρτήσεις, γενικά, θα εκτελούνται με τη σειρά που καλούνται. Ωστόσο, εάν μια συνάρτηση περιμένει, θα μεταβιβάσει την εκτέλεση στην επόμενη συνάρτηση και θα συνεχίσει όταν ολοκληρωθεί η άλλη συνάρτηση ή όταν η άλλη συνάρτηση περιμένει επίσης.

Usage:
vr_thread(function)

Παράμετρος

Περιγραφή

function

Το όνομα μιας προηγουμένως ορισμένης συνάρτησης.

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

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