Δήλωση Python Assert

Σε αυτό το άρθρο θα μάθουμε για τον ισχυρισμό στο Python χρησιμοποιώντας το assert.

Τι είναι ο ισχυρισμός;

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

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

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

Μπορούμε να είμαστε ξεκάθαροι κοιτάζοντας το διάγραμμα ροής παρακάτω:

Δήλωση ισχυρισμού Python

Η Python έχει ενσωματωμένη assertδήλωση για να χρησιμοποιήσει την κατάσταση επιβεβαίωσης στο πρόγραμμα. assertΗ δήλωση έχει μια κατάσταση ή έκφραση που υποτίθεται ότι είναι πάντα αληθινή. Εάν η συνθήκη είναι λανθασμένη επιβεβαίωση σταματά το πρόγραμμα και δίνει ένα AssertionError.

Σύνταξη για χρήση του Assert στο Pyhton:

 διεκδικώ 
 διεκδικώ ,

Στο Python μπορούμε να χρησιμοποιήσουμε τη assertδήλωση με δύο τρόπους όπως αναφέρθηκε παραπάνω.

  1. assertΗ δήλωση έχει μια συνθήκη και εάν η συνθήκη δεν ικανοποιηθεί, το πρόγραμμα θα σταματήσει και θα δώσει AssertionError.
  2. 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 Η δήλωση χρησιμοποιείται ως εργαλείο εντοπισμού σφαλμάτων καθώς σταματά το πρόγραμμα στο σημείο όπου παρουσιάζεται ένα σφάλμα.

ενδιαφέροντα άρθρα...