3.7 Λογικοί Τελεστές and, or και not στην Python

Στην Python, οι λογικοί τελεστές and, or και not χρησιμοποιούνται για να συνδυάσουν λογικές εκφράσεις ή για να αναστρέψουν την τιμή της αλήθειας μιας λογικής έκφρασης.

Τελεστής and

Ο τελεστής and επιστρέφει True αν και οι δύο λογικές εκφράσεις είναι αληθείς. Αν έστω και μία από τις δύο εκφράσεις είναι ψευδής (False), τότε επιστρέφει False.

Παράδειγμα and

a = True
b = False

result = a and b  # Επιστρέφει False, γιατί b είναι False

Τελεστής or

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

Παράδειγμα or

a = True
b = False

result = a or b  # Επιστρέφει True, γιατί a είναι True

Τελεστής not

Ο τελεστής not αναστρέφει την τιμή αλήθειας μιας λογικής έκφρασης. Επιστρέφει True αν η έκφραση είναι ψευδής και False αν είναι αληθής.

Παράδειγμα not

a = True

result = not a  # Επιστρέφει False, γιατί a είναι True

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

Ο Λογικός Τελεστής and στην Python

Ο λογικός τελεστής and χρησιμοποιείται για να διασφαλίσει ότι δύο συνθήκες πρέπει να είναι και οι δύο αληθείς (True) πριν εκτελεστεί ένα μπλοκ κώδικα. Αυτός ο τελεστής επιστρέφει True μόνο όταν και οι δύο συνθήκες είναι αληθείς. Αν μία ή και οι δύο συνθήκες είναι ψευδείς (False), τότε το αποτέλεσμα της έκφρασης and είναι επίσης ψευδές.

Παράδειγμα Χρήσης του and

a = True
b = False

# Η παρακάτω συνθήκη είναι True μόνο αν και το a και το b είναι True
if a and b:
    # Αυτό το μπλοκ κώδικα δεν θα εκτελεστεί επειδή το b είναι False
    print("Και το a και το b είναι αληθείς.")

Πίνακας Αληθείας για τον Τελεστή and

Ο πίνακας αληθείας για τον τελεστή and παρουσιάζει όλους τους πιθανούς συνδυασμούς των τιμών True και False για δύο εκφράσεις:

expression1expression2expression1 and expression2
FalseFalseFalse
FalseTrueFalse
TrueFalseFalse
TrueTrueTrue

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

Ο Λογικός Τελεστής or στην Python

Ο λογικός τελεστής or χρησιμοποιείται για να ελέγξει αν μία ή και οι δύο από δύο συνθήκες είναι αληθείς (True). Αυτός ο τελεστής επιστρέφει True αν έστω και μία από τις συνθήκες είναι αληθής. Η συνολική έκφραση είναι ψευδής (False) μόνο αν και οι δύο συνθήκες είναι ψευδείς.

Παράδειγμα Χρήσης του or

a = False
b = True

# Η παρακάτω συνθήκη είναι True αν το a ή το b (ή και τα δύο) είναι True
if a or b:
    # Αυτό το μπλοκ κώδικα θα εκτελεστεί επειδή το b είναι True
    print("Το a ή το b (ή και τα δύο) είναι αληθείς.")

Πίνακας Αληθείας για τον Τελεστή or

Ο πίνακας αληθείας για τον τελεστή or παρουσιάζει όλους τους πιθανούς συνδυασμούς των τιμών True και False για δύο εκφράσεις:

expression1expression2expression1 or expression2
FalseFalseFalse
FalseTrueTrue
TrueFalseTrue
TrueTrueTrue

Από αυτόν τον πίνακα, βλέπουμε ότι η έκφραση expression1 or expression2 είναι αληθής εφόσον έστω και μία από τις δύο expression1 ή expression2 είναι αληθής. Αυτό καθιστά τον τελεστή or χρήσιμο για την ελευθερία επιλογής μεταξύ πολλαπλών συνθηκών σε ένα πρόγραμμα. Σημειώνεται επίσης ότι ο τελεστής and έχει υψηλότερη προτεραιότητα από τον τελεστή or.

Βελτίωση Επιδόσεων με τη Χρήση της Σύντομης Αξιολόγησης (Short-Circuit Evaluation)

Στην Python, η σύντομη αξιολόγηση (short-circuit evaluation) είναι μια τεχνική που βελτιώνει την απόδοση των λογικών εκφράσεων. Χρησιμοποιείται με τους λογικούς τελεστές and και or και επιτρέπει την αποφυγή περιττών ελέγχων.

Σύντομη Αξιολόγηση με τον Τελεστή and

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

Παράδειγμα με and

a = False
b = expensive_operation()  # Αυτή η συνάρτηση δεν θα κληθεί

if a and b:
    # Αυτό το μπλοκ δεν θα εκτελεστεί
    pass

Σύντομη Αξιολόγηση με τον Τελεστή or

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

Παράδειγμα με or

a = True
b = expensive_operation()  # Αυτή η συνάρτηση δεν θα κληθεί

if a or b:
    # Αυτό το μπλοκ θα εκτελεστεί
    pass

Οφέλη της Σύντομης Αξιολόγησης

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

Ο Λογικός Τελεστής not στην Python

Ο λογικός τελεστής not στην Python “αναστρέφει” την τιμή αλήθειας μιας συνθήκης. Μετατρέπει το True σε False και αντιστρόφως. Είναι ένας μοναδιαίος τελεστής, καθώς έχει μόνο έναν τελεστέο. Τοποθετείτε τον τελεστή not πριν από μια συνθήκη για να επιλέξετε ένα διαφορετικό μονοπάτι εκτέλεσης αν η αρχική συνθήκη (χωρίς τον τελεστή not) είναι ψευδής (False).

Πίνακας Αληθείας για τον Τελεστή not

Ο πίνακας αληθείας για τον τελεστή not συνοψίζει την αντίστροφη τιμή αλήθειας για μια συνθήκη:

expressionnot expression
FalseTrue
TrueFalse

Παράδειγμα Χρήσης του not

a = True

if not a:
    # Αυτό το μπλοκ δεν θα εκτελεστεί επειδή 'not a' είναι False
    pass

Προτεραιότητα και Ομαδοποίηση των Τελεστών

Οι λογικοί τελεστές έχουν την ακόλουθη προτεραιότητα και ομαδοποίηση, από την υψηλότερη προτεραιότητα στη χαμηλότερη:

  1. () (Παρενθέσεις): Από αριστερά προς τα δεξιά
  2. ** (Δύναμη): Από δεξιά προς τα αριστερά
  3. *, /, //, % (Πολλαπλασιασμός, Διαίρεση, Διαίρεση με Ακέραιο Αποτέλεσμα, Υπόλοιπο): Από αριστερά προς τα δεξιά
  4. +, - (Πρόσθεση, Αφαίρεση): Από αριστερά προς τα δεξιά
  5. <, <=, >, >=, ==, != (Συγκρίσεις): Από αριστερά προς τα δεξιά
  6. not (Λογικός άρνησης): Από αριστερά προς τα δεξιά
  7. and (Λογικός και): Από αριστερά προς τα δεξιά
  8. or (Λογικός ή): Από αριστερά προς τα δεξιά

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

10 Ιανουαρίου, 2024
top
error: Content is protected !!
Μετάβαση σε γραμμή εργαλείων