Customize Consent Preferences

We use cookies to help you navigate efficiently and perform certain functions. You will find detailed information about all cookies under each consent category below.

The cookies that are categorized as "Necessary" are stored on your browser as they are essential for enabling the basic functionalities of the site. ... 

Always Active

Necessary cookies are required to enable the basic features of this site, such as providing secure log-in or adjusting your consent preferences. These cookies do not store any personally identifiable data.

No cookies to display.

Functional cookies help perform certain functionalities like sharing the content of the website on social media platforms, collecting feedback, and other third-party features.

No cookies to display.

Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics such as the number of visitors, bounce rate, traffic source, etc.

No cookies to display.

Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.

No cookies to display.

Advertisement cookies are used to provide visitors with customized advertisements based on the pages you visited previously and to analyze the effectiveness of the ad campaigns.

No cookies to display.

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

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

Τελεστής and

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

Παράδειγμα and

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
a = True
b = False
result = a and b # Επιστρέφει False, γιατί b είναι False
a = True b = False result = a and b # Επιστρέφει False, γιατί b είναι False
a = True
b = False

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

Τελεστής or

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

Παράδειγμα or

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
a = True
b = False
result = a or b # Επιστρέφει True, γιατί a είναι True
a = True b = False result = a or b # Επιστρέφει True, γιατί a είναι True
a = True
b = False

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

Τελεστής not

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

Παράδειγμα not

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
a = True
result = not a # Επιστρέφει False, γιατί a είναι True
a = True result = not a # Επιστρέφει False, γιατί a είναι True
a = True

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

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

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

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

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

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
a = True
b = False
# Η παρακάτω συνθήκη είναι True μόνο αν και το a και το b είναι True
if a and b:
# Αυτό το μπλοκ κώδικα δεν θα εκτελεστεί επειδή το b είναι False
print("Και το a και το b είναι αληθείς.")
a = True b = False # Η παρακάτω συνθήκη είναι True μόνο αν και το a και το b είναι True if a and b: # Αυτό το μπλοκ κώδικα δεν θα εκτελεστεί επειδή το b είναι False print("Και το a και το b είναι αληθείς.")
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

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
a = False
b = True
# Η παρακάτω συνθήκη είναι True αν το a ή το b (ή και τα δύο) είναι True
if a or b:
# Αυτό το μπλοκ κώδικα θα εκτελεστεί επειδή το b είναι True
print("Το a ή το b (ή και τα δύο) είναι αληθείς.")
a = False b = True # Η παρακάτω συνθήκη είναι True αν το a ή το b (ή και τα δύο) είναι True if a or b: # Αυτό το μπλοκ κώδικα θα εκτελεστεί επειδή το b είναι True print("Το a ή το b (ή και τα δύο) είναι αληθείς.")
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

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
a = False
b = expensive_operation() # Αυτή η συνάρτηση δεν θα κληθεί
if a and b:
# Αυτό το μπλοκ δεν θα εκτελεστεί
pass
a = False b = expensive_operation() # Αυτή η συνάρτηση δεν θα κληθεί if a and b: # Αυτό το μπλοκ δεν θα εκτελεστεί pass
a = False
b = expensive_operation()  # Αυτή η συνάρτηση δεν θα κληθεί

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

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

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

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

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
a = True
b = expensive_operation() # Αυτή η συνάρτηση δεν θα κληθεί
if a or b:
# Αυτό το μπλοκ θα εκτελεστεί
pass
a = True b = expensive_operation() # Αυτή η συνάρτηση δεν θα κληθεί if a or b: # Αυτό το μπλοκ θα εκτελεστεί pass
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

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
a = True
if not a:
# Αυτό το μπλοκ δεν θα εκτελεστεί επειδή 'not a' είναι False
pass
a = True if not a: # Αυτό το μπλοκ δεν θα εκτελεστεί επειδή 'not a' είναι False pass
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 !!
Μετάβαση σε γραμμή εργαλείων