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

Εισαγωγή#

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

Σημαντικό: Ο ορισμός μιας συνάρτησης από μόνος του δεν την εκτελεί. Χρησιμοποιήστε start_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#

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

def greeting():
    console.print("Hello!")

# Call the greeting function
greeting()

Functions with Parameters#

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

def move_square(moves):
    for index in range(moves):
        drivetrain.drive_for(FORWARD, 150)
        drivetrain.turn_for(RIGHT, 90)

# Call the move_square function
move_square(4)

Functions with Default Arguments#

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

def move_square(moves=4):
    for index in range(moves):
        drivetrain.drive_for(FORWARD, 150)
        drivetrain.turn_for(RIGHT, 90)

# Call the move_square function
move_square()

Return Values from Functions#

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

def times_two(number):
    return number * 2

# Display the return value
console.print(times_two(2))

έναρξη_νήμα#

start_thread ξεκινά μια συνάρτηση σε ένα νέο νήμα, επομένως αρχίζει να εκτελείται αμέσως από την αρχή του έργου.

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

Usage:
start_thread(function)

Παράμετρος

Περιγραφή

function

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

def move_square():
    # Move in a square path
    while True:
        drivetrain.drive_for(FORWARD, 150)
        drivetrain.turn_for(RIGHT, 90)

def lights():
    # Blink Optical Sensor lights
    while True:
        optical_sensor.set_light(LEDStateType.ON)
        wait(0.5, SECONDS)
        optical_sensor.set_light(LEDStateType.OFF)
        wait(0.5, SECONDS)

# Start threads — Do not delete
start_thread(move_square)
start_thread(lights)