Τελεστές (Operators)

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

Ανάλογα με τα αντικείμενα στα οποία χρησιμοποιούνται οι τελεστές, χωρίζονται σε κατηγορίες. Έτσι έχουμε.

Αριθμητικοί τελεστές

Πρόσθεση (+)

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

Δείτε τα πιο κάτω παραδείγματα με τα αντίστοιχα αποτελέσματα:

5 + 3 => 8
"5" + "3" => '53'  (και όχι 8)
"Γειά σου " + "Κώστα" => Γειά σου Κώστα

Αφαίρεση (-)

Αφαιρεί δύο αριθμούς. Ο τελεστής της αφαίρεσης χρησιμοποιείται αποκλειστικά για αριθμητικές πράξεις.

18-5 => 13

Πολλαπλασιασμός (*)

Πολλαπλασιάζει δύο αριθμούς. Χρησιμοποιείται αποκλειστικά με αριθμούς.

10*4 => 40

Διαίρεση (/)

Διαιρεί δύο αριθμούς. Το αποτέλεσμα μπορεί να είναι ακέραιος ή δεκαδικός.

Modulo (%)

Διαιρεί δύο αριθμούς και δίνει σαν αποτέλεσμα το υπόλοιπο της διαίρεσης. Παράδειγμα:

10%3 => 1

Μείον(-)

Μετατρέπει έναν θετικό αριθμό σε αρνητικό ή έναν αρνητικό σε θετικό.

Εκθέτης

Υπολογίζει δυνάμεις (xy)

5**3 =>125

Ακέραιη διαίρεση ή Floor division (//)

Στρογγυλοποιεί το αποτέλεσμα στον χαμηλότερο ακέραιο.

x = 15
y = 4
print(x // y) # 3
print(x / y) # 3.75

Τελεστές εκχώρησης τιμής (Assignment Operators)

Τελεστής     Παράδειγμα         Ισοδύναμο
------------------------------------------
=            x = 5              x = 5
+=           x += 3             x = x + 3
+=           x += 3             x = x + 3
*=           x *= 3             x = x * 3
/=           x /= 3             x = x / 3
/=           x /= 3             x = x / 3
//=          x //= 3            x = x // 3
**=          x **= 3            x = x ** 3
&=           x &= 3             x = x & 3
|=           x |= 3             x = x | 3
^=           x ^= 3             x = x ^ 3
>>=          x >>= 3            x = x >> 3
<<=          x <<= 3            x = x << 3
:=           print(x := 3)      x = 3; print(x)
print(x := 3) # 3

x = 5
x //= 3
print(x) # 1

x = 5
x += 3
print(x) # 8

Συγκριτικοί τελεστές

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

Μεγαλύτερο του (>)

Συγκρίνει αν μια τιμή είναι μεγαλύτερη μίας άλλης. Παράδειγμα: if(15>3).

Μικρότερο του (<)

Συγκρίνει αν μια τιμή είναι μικρότερη μίας άλλης. Παράδειγμα: if(10<20).

Μεγαλύτερο ή ίσο του (>=)

Συγκρίνει αν μια τιμή είναι μεγαλύτερη ή ίση μίας άλλης. Παράδειγμα: if(15>=3).

Μικρότερο ή ίσο του (<=)

Συγκρίνει αν μια τιμή είναι μικρότερη ή ίση μίας άλλης. Παράδειγμα: if(10<=20).

Ίσον του(==)

Συγκρίνει αν μια τιμή είναι ίση μίας άλλης. Παράδειγμα: if(10==10).

Όχι ίσον του(!=)

Συγκρίνει αν μια τιμή δεν είναι ίση μίας άλλης. Παράδειγμα: if(10!=33).

Λογικοί τελεστές

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

Λογικό ΚΑΙ (and)

Όταν και οι δύο προτάσεις είναι True το αποτέλεσμα είναι True, διαφορετικά το αποτέλεσμα είναι False. Παράδειγμα: if(x>0 and x<10)

Λογικό Ή (or)

Όταν τουλάχιστον μία από τις δύο προτάσεις είναι true το αποτέλεσμα είναι True, διαφορετικά το αποτέλεσμα είναι False.
Παράδειγμα: if(x==0 or x==2)

Λογικό ΌΧΙ (not)

Εφαρμόζεται σε μία πρόταση και αλλάζει τη λογική τιμή της. Όταν η πρόταση είναι True γίνεται False και όταν είναι False γίνεται True. Παράδειγμα: if(not(x==0))

Τελεστές ταυτότητας

is

Επιστρέφει True αν οι μεταβλητές ταυτίζονται με το ίδιο αντικείμενο.

x = 123
y = x

print(y is x) # True

is not

Επιστρέφει False αν οι μεταβλητές δεν ταυτίζονται με το ίδιο αντικείμενο.

x = 123
y = 345

print(y is x) # False

Τελεστές ιδιότητας μέλους (Membership Operators)

in

Επιστρέφει True αν στη σειρά (sequence) υπάρχει το αντικείμενο.

x in y
x = ["apple", "banana"]
print("banana" in x) # True

not in

Επιστρέφει True αν στη σειρά (sequence) δεν υπάρχει το αντικείμενο.

x not in y
x = ["apple", "banana"]
print("orange" not in x) # True

Ternary operator (Τριαδικός τελεστής)

Χρησιμοποιείται ως σύντομο if...else

a = 10
b = 20

min = "a is minimum" if a < b else "b is minimum"

Το παραπάνω παράδειγμα είναι ισοδύναμο με:

if a < b:
    min = "a is minimum"
else:
    min = "b is minimum"
        
a = 10
b = 20

# σε συνδυασμό με print
print(a,"is minimum") if (a < b) else print(b,"is minimum")

Το παραπάνω παράδειγμα είναι ισοδύναμο με:

if a < b:
    print(a, "is minimum")
else:
    print(b, "is minimum")
        
# σε συνδυασμό με List

a = 10
b = 20
m = ["b is minimum", "a is minimum"] [a < b]
print(m) # a is minimum

ή

# σε συνδυασμό με List

fruit = "mango"
m = ["there is no mango", "there is mango"] [fruit == "mango"]
print(m) # there is mango
# σε συνδυασμό με Tuple ή Set

a = 10
b = 20
m = ("b is minimum", "a is minimum") [a < b]
print(m) # a is minimum

ή

# σε συνδυασμό με Tuple ή Set

fruit = "mango"
m = ("there is no mango", "there is mango") [fruit == "mango"]
print(m) # there is mango
# σε συνδυασμό με Dictionary

a, b = 10, 20
m = {True: "a is minimum", False: "b is minimum"} [a < b]
print(m) # a is minimum

ή

# σε συνδυασμό με Dictionary

fruit = "mango"
m = {True: "there is mango", False: "there is no mango"} [fruit == "mango"]
print(m) # there is mango

Bitwise Operators

Αφορά πράξεις ανάμεσα σε bits

Τελεστής Παράδειγμα Περιγραφή
1 & 1 #1 Κάνει AND δύο bit
| 0 | 0 #0 Κάνει OR δύο bit
 ^ 1 ^ 1 #0, 0 ^ 0 #0 Κάνει XOR δύο bit
~1 #0, ~0 #1 Κάνει NOT ένα bit
<<
x=1
x<<2
print(x) #4
Εισάγει μηδενικά από τα δεξιά
>>
x=4
x>>2
print(x) #1
Εισάγει μηδενικά από τα αριστερά