Απόδοση Python έναντι επιστροφής

Python Yield Vs Return



Η Python είναι η ευρέως χρησιμοποιούμενη γλώσσα προγραμματισμού γενικής χρήσης των τελευταίων χρόνων. Η απόδοση είναι μια ενσωματωμένη λέξη-κλειδί Python που χρησιμοποιείται για τη δημιουργία των συναρτήσεων γεννήτριας. Η λειτουργία του παράγει μια σειρά αποτελεσμάτων. Διακόπτει την εκτέλεση του προγράμματος, στέλνει την τιμή αποτελέσματος πίσω στον καλούντα και συνεχίζει την εκτέλεση από την τελευταία απόδοση. Εκτός από αυτό, η συνάρτηση απόδοσης στέλνει την παραγόμενη σειρά αποτελεσμάτων με τη μορφή ενός αντικειμένου γεννήτριας. Από την άλλη πλευρά, η απόδοση είναι επίσης μια ενσωματωμένη λέξη-κλειδί στην Python που τερματίζει τη λειτουργία και στέλνει την τιμή πίσω στον καλούντα.

Αυτό το άρθρο περιγράφει τις διαφορές μεταξύ της απόδοσης και των αποδόσεων με παραδείγματα.







Διαφορές μεταξύ απόδοσης και απόδοσης

Αρχικά, υπάρχουν πολλές σημαντικές διαφορές μεταξύ της απόδοσης και της απόδοσης. Ας συζητήσουμε πρώτα τι είναι αυτά.



ΕΠΙΣΤΡΟΦΗ Απόδοση παραγωγής
Η δήλωση επιστροφής επιστρέφει μόνο μία τιμή στον καλούντα. Η δήλωση απόδοσης μπορεί να επιστρέψει μια σειρά αποτελεσμάτων στον καλούντα με τη μορφή ενός αντικειμένου γεννήτριας.
Η επιστροφή εξέρχεται από τη συνάρτηση και στην περίπτωση ενός βρόχου, απορρίπτει τον βρόχο. Είναι η τελευταία πρόταση που τοποθετείται μέσα στη συνάρτηση. Δεν καταργεί τις τοπικές μεταβλητές της συνάρτησης. Αναστέλλει την εκτέλεση και στέλνει την τιμή πίσω στον καλούντα και συνεχίζει την εκτέλεση του προγράμματος από την τελευταία δήλωση απόδοσης.
Λογικά, μια συνάρτηση θα πρέπει να έχει μόνο μια δήλωση επιστροφής. Ενδέχεται να υπάρχουν περισσότερες από μία δηλώσεις απόδοσης μέσα στη συνάρτηση.
Η δήλωση επιστροφής μπορεί να εκτελεστεί μόνο μία φορά. Η δήλωση απόδοσης μπορεί να εκτελεστεί πολλές φορές.
Η δήλωση επιστροφής τοποθετείται μέσα σε μια κανονική συνάρτηση Python. Η δήλωση απόδοσης μετατρέπει μια κανονική συνάρτηση σε συνάρτηση γεννήτριας.

Παράδειγμα 1: Απόδοση έναντι Απόδοσης

Τώρα, ας δούμε τη διαφορά μεταξύ των δηλώσεων απόδοσης και απόδοσης μέσω παραδειγμάτων. Στο παράδειγμα προγράμματος που δίνεται παρακάτω, έχουμε χρησιμοποιήσει πολλαπλές δηλώσεις επιστροφής. Μπορείτε να παρατηρήσετε ότι η εκτέλεση του προγράμματος θα τερματιστεί μετά την πρώτη δήλωση επιστροφής και ο υπόλοιπος κώδικας δεν θα εκτελεστεί.



#ένα πρόγραμμα για την εμφάνιση της λειτουργίας της δήλωσης επιστροφής

#καθορισμός μιας μεταβλητής αριθμών

num1=10

#καθορισμός μιας μεταβλητής αριθμών

num2=είκοσι

#δημιουργία μιας συνάρτησης για την εκτέλεση αριθμητικών πράξεων

def mathOP():

#υπολογισμός της αθροιστικής αξίας

ΕΠΙΣΤΡΟΦΗnum1+num2

#υπολογισμός της διαφοράς

ΕΠΙΣΤΡΟΦΗnum1-num2

#υπολογισμός της τιμής πολλαπλασιασμού

ΕΠΙΣΤΡΟΦΗnum1*num2

#υπολογισμός της τιμής διαίρεσης

ΕΠΙΣΤΡΟΦΗnum1/num2

#κλήση της λειτουργίας

Τυπώνω(mathOP())

Παραγωγή





Στην έξοδο, φαίνεται ότι η συνάρτηση επιστρέφει μόνο την πρώτη τιμή και το πρόγραμμα τερματίζεται.



Για να εκτελέσουμε μια παρόμοια εργασία με πολλαπλές δηλώσεις επιστροφής, πρέπει να δημιουργήσουμε τέσσερις διαφορετικές συναρτήσεις για κάθε τύπο αριθμητικής πράξης.

#ένα πρόγραμμα για την εμφάνιση της λειτουργίας της δήλωσης επιστροφής

#καθορισμός μιας μεταβλητής αριθμών

num1=10

#καθορισμός μιας μεταβλητής αριθμών

num2=είκοσι

#δημιουργία μιας συνάρτησης για την εκτέλεση αριθμητικών πράξεων

def sumOP():

#υπολογισμός της αθροιστικής αξίας

ΕΠΙΣΤΡΟΦΗnum1+num2

def subtractOP():

#υπολογισμός της διαφοράς

ΕΠΙΣΤΡΟΦΗnum1-num2

def πολλαπλασιασμός OP():

#υπολογισμός της τιμής πολλαπλασιασμού

ΕΠΙΣΤΡΟΦΗnum1*num2

def ndarOPOP():

#υπολογισμός της τιμής διαίρεσης

ΕΠΙΣΤΡΟΦΗnum1/num2

#κλήση της συνάρτησης αθροίσματος

Τυπώνω('Η συνολική αξία είναι:',sumOP())

#κλήση της συνάρτησης αφαίρεσης

Τυπώνω('Η τιμή της διαφοράς είναι:',αφαιρώ OP())

#κλήση της συνάρτησης πολλαπλασιασμού

Τυπώνω('Η τιμή πολλαπλασιασμού είναι:',πολλαπλασιασμός OP())

#κλήση της συνάρτησης διαίρεσης

Τυπώνω('Η τιμή διαίρεσης είναι:',διαίρεση OP())

Παραγωγή

Μπορούμε να εκτελέσουμε αυτές τις πολλαπλές αριθμητικές πράξεις μέσα σε μια συνάρτηση γεννήτριας με πολλαπλές δηλώσεις απόδοσης.

#ένα πρόγραμμα για την εμφάνιση της δήλωσης λειτουργίας της απόδοσης

#καθορισμός μιας μεταβλητής αριθμών

num1=10

#καθορισμός μιας μεταβλητής αριθμών

num2=είκοσι

#δημιουργία μιας συνάρτησης για την εκτέλεση αριθμητικών πράξεων

def mathOP():

#υπολογισμός της αθροιστικής αξίας

απόδοση παραγωγήςnum1+num2

#υπολογισμός της διαφοράς

απόδοση παραγωγήςnum1-num2

#υπολογισμός της τιμής πολλαπλασιασμού

απόδοση παραγωγήςnum1*num2

#υπολογισμός της τιμής διαίρεσης

απόδοση παραγωγήςnum1/num2

#κλήση της λειτουργίας

Τυπώνω('Εκτύπωση των τιμών:')

#Using for loop για πρόσβαση στις τιμές από το αντικείμενο γεννήτριας

Γιαείμαι στο mathOP():

Τυπώνω(Εγώ)

Παραγωγή

Παράδειγμα2: Απόδοση έναντι Απόδοσης

Ας δούμε ένα άλλο παράδειγμα δηλώσεων απόδοσης και απόδοσης. Στο δοθέν παράδειγμα, έχουμε μια λίστα αριθμών που περνά στη συνάρτηση mod () ως όρισμα. Εκτελούμε τη λειτουργία μέτρου σε κάθε αριθμό λίστας και ελέγχουμε ποιοι είναι αυτοί οι αριθμοί όταν διαιρούνται με 10 το μηδέν επιστρέφουν ως υπόλοιπη τιμή.

Αρχικά, ας εφαρμόσουμε αυτό το παράδειγμα στο σενάριό μας Python με δήλωση επιστροφής.

#καθορισμός λίστας αριθμών

η λίστα μου=[10,είκοσι,25,30,35,40,πενήντα]

#καθορισμός μιας συνάρτησης για την εκτέλεση της λειτουργίας μέτρου

def mod(η λίστα μου):

Γιαείμαι στη λίστα μου:

#εκτέλεση λειτουργίας μέτρου

αν(Εγώ%10==0):

ΕΠΙΣΤΡΟΦΗΕγώ

Τυπώνω(κατά(η λίστα μου))

Παραγωγή

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

Τώρα, ας εφαρμόσουμε το ίδιο παράδειγμα στο σενάριό μας Python με τη δήλωση απόδοσης.

#καθορισμός λίστας αριθμών

η λίστα μου=[10,είκοσι,25,30,35,40,πενήντα]

#καθορισμός μιας συνάρτησης για την εκτέλεση της λειτουργίας μέτρου

def mod(η λίστα μου):

Γιαείμαι στη λίστα μου:

#εκτέλεση λειτουργίας μέτρου

αν(Εγώ%10==0):

#η δήλωση απόδοσης

απόδοση παραγωγήςΕγώ

Γιαεγώ σε mod(η λίστα μου):

Τυπώνω(Εγώ)

Παραγωγή

συμπέρασμα

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