Συναρτήσεις#
Εισαγωγή#
Οι συναρτήσεις αποτελούν θεμελιώδες στοιχείο του προγραμματισμού 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
Παράμετροι |
Περιγραφή |
|---|---|
|
Ένα όνομα που δίνετε στη συνάρτησή σας. |
|
Προαιρετικά. Μεταβλητές που δέχονται τιμές εισόδου όταν καλείται η συνάρτηση, επιτρέποντας τη διαβίβαση δεδομένων στη συνάρτηση. |
|
Προαιρετικό. Επιτρέπει στη συνάρτηση να στείλει ένα αποτέλεσμα πίσω στον καλούντα. Εάν μια συνάρτηση δεν περιλαμβάνει μια εντολή return, θα επιστρέψει |
Σημείωση: Μια συνάρτηση πρέπει πάντα να ορίζεται πριν την κλήση της.
Ορισμός και κλήση συναρτήσεων#
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)
Παράμετρος |
Περιγραφή |
|---|---|
|
Το όνομα μιας προηγουμένως ορισμένης συνάρτησης. |
# Define the function "main".
def main():
drivetrain.drive_for(FORWARD, 400, MM)
# Call VR thread for any previously defined functions.
vr_thread(main)