Σε αυτό το άρθρο θα μάθουμε για τον ισχυρισμό στο Python χρησιμοποιώντας το assert.
Τι είναι ο ισχυρισμός;
Οι ισχυρισμοί είναι δηλώσεις που επιβεβαιώνουν ή δηλώνουν ένα γεγονός με βεβαιότητα στο πρόγραμμά σας. Για παράδειγμα, ενώ γράφετε μια συνάρτηση διαίρεσης, είστε βέβαιοι ότι ο διαιρέτης δεν πρέπει να είναι μηδέν, ισχυρίζεστε ότι ο διαιρέτης δεν είναι ίσος με μηδέν.
Οι ισχυρισμοί είναι απλώς δυαδικές εκφράσεις που ελέγχουν αν οι συνθήκες επιστρέφουν αληθινές ή όχι. Εάν είναι αλήθεια, το πρόγραμμα δεν κάνει τίποτα και μεταβαίνει στην επόμενη γραμμή κώδικα. Ωστόσο, εάν είναι λάθος, το πρόγραμμα σταματά και ρίχνει ένα σφάλμα.
Είναι επίσης ένα εργαλείο εντοπισμού σφαλμάτων καθώς θέτει το πρόγραμμα σε παύση μόλις συμβεί οποιοδήποτε σφάλμα και δείχνει σε ποιο σημείο του σφάλματος του προγράμματος έχει προκύψει.
Μπορούμε να είμαστε ξεκάθαροι κοιτάζοντας το διάγραμμα ροής παρακάτω:
Δήλωση ισχυρισμού Python
Η Python έχει ενσωματωμένη assert
δήλωση για να χρησιμοποιήσει την κατάσταση επιβεβαίωσης στο πρόγραμμα. assert
Η δήλωση έχει μια κατάσταση ή έκφραση που υποτίθεται ότι είναι πάντα αληθινή. Εάν η συνθήκη είναι λανθασμένη επιβεβαίωση σταματά το πρόγραμμα και δίνει ένα AssertionError
.
Σύνταξη για χρήση του Assert στο Pyhton:
διεκδικώ
διεκδικώ ,
Στο Python μπορούμε να χρησιμοποιήσουμε τη assert
δήλωση με δύο τρόπους όπως αναφέρθηκε παραπάνω.
assert
Η δήλωση έχει μια συνθήκη και εάν η συνθήκη δεν ικανοποιηθεί, το πρόγραμμα θα σταματήσει και θα δώσειAssertionError
.assert
Η δήλωση μπορεί επίσης να έχει μια συνθήκη και ένα προαιρετικό μήνυμα σφάλματος. Εάν η συνθήκη δεν ικανοποιηθεί, ο ισχυρισμός σταματά το πρόγραμμα και δίνειAssertionError
μαζί με το μήνυμα σφάλματος.
Ας πάρουμε ένα παράδειγμα, όπου έχουμε μια συνάρτηση που θα υπολογίσει τον μέσο όρο των τιμών που πέρασε ο χρήστης και η τιμή δεν πρέπει να είναι κενή λίστα. Θα χρησιμοποιήσουμε τη assert
δήλωση για να ελέγξουμε την παράμετρο και εάν το μήκος της λίστας που πέρασε είναι μηδέν, το πρόγραμμα σταματά.
Παράδειγμα 1: Χρήση του ισχυρισμού χωρίς μήνυμα σφάλματος
def avg(marks): assert len(marks) != 0 return sum(marks)/len(marks) mark1 = () print("Average of mark1:",avg(mark1))
Όταν εκτελούμε το παραπάνω πρόγραμμα, η έξοδος θα είναι:
AssertionError
Λάβαμε ένα σφάλμα καθώς περάσαμε μια κενή λίστα mark1 στη assert
δήλωση, η συνθήκη έγινε ψευδής και ο ισχυρισμός σταματά το πρόγραμμα και δίνει AssertionError
.
Τώρα ας περάσουμε μια άλλη λίστα που θα ικανοποιήσει τον assert
όρο και θα δούμε ποια θα είναι η παραγωγή μας.
Παράδειγμα 2: Χρήση του assert με μήνυμα σφάλματος
def avg(marks): assert len(marks) != 0,"List is empty." return sum(marks)/len(marks) mark2 = (55,88,78,90,79) print("Average of mark2:",avg(mark2)) mark1 = () print("Average of mark1:",avg(mark1))
Όταν εκτελούμε το παραπάνω πρόγραμμα, η έξοδος θα είναι:
Μέσος όρος mark2: 78.0 AssertionError: Η λίστα είναι κενή.
Περάσαμε μια μη κενή λίστα mark2 και επίσης μια κενή λίστα mark1 στη avg()
συνάρτηση και πήραμε έξοδο για τη λίστα mark2, αλλά μετά από αυτό έχουμε ένα σφάλμα AssertionError: List is empty
. Η assert
συνθήκη ικανοποιήθηκε από τη λίστα mark2 και το πρόγραμμα για να συνεχίσει να εκτελείται. Ωστόσο, το mark1 δεν ικανοποιεί την προϋπόθεση και δίνει ένα AssertionError
.
Βασικά σημεία που πρέπει να θυμάστε
- Οι ισχυρισμοί είναι η συνθήκη ή η δυαδική έκφραση που υποτίθεται ότι είναι πάντα αληθές στον κώδικα.
assert
Η δήλωση παίρνει μια έκφραση και προαιρετικό μήνυμα.assert
Η δήλωση χρησιμοποιείται για τον έλεγχο τύπων, τιμών επιχειρήματος και της εξόδου της συνάρτησης.assert
Η δήλωση χρησιμοποιείται ως εργαλείο εντοπισμού σφαλμάτων καθώς σταματά το πρόγραμμα στο σημείο όπου παρουσιάζεται ένα σφάλμα.