Μεταβλητές – τύποι δεδομένων

Η έννοια της μεταβλητής στην Python

Ένας κώδικας Python σε ένα υπολογιστικό σύστημα μπορεί να επεξεργάζεται δεδομένα, όπως αριθμούς, συμβολοσειρές, λίστες, λεξικά, πλειάδες, σύνολα και αρχεία. Τα δεδομένα αυτά μπορεί να είναι σε σταθερή μορφή ή δεδομένα αποθηκευμένα στη μνήμη κάτω από συμβολικά ονόματα που ονομάζονται μεταβλητές. Μια μεταβλητή αντιπροσωπεύει δεδομένα που μεταβάλλονται κατά την διάρκεια εκτέλεσης του προγράμματος.

Οι μεταβλητές είναι ονόματα που δίδονται σε περιοχές της μνήμης του Η/Υ, οι οποίες μπορούν να αποθηκεύουν δεδομένα. Αναθέτουμε τιμές στις μεταβλητές με την εντολή ανάθεσης ή εκχώρησης. Οι εντολές εκχώρησης υπολογίζουν την τιμή μιας δεδομένης παράστασης και στη συνέχεια την εκχωρούν στη μεταβλητή. Μια εντολή εκχώρησης έχει την μορφή:  μεταβλητή = παράσταση όπου παράσταση είναι μια έκφραση που αποτιμάται, και με τον τελεστή εκχώρησης «=» η τιμή της έκφρασης εκχωρείται στη μεταβλητή.

Οι μεταβλητές δημιουργούνται την στιγμή που τους ανατίθονται δεδομένα. Ο τύπος της μεταβλητής που θα δημιουργηθεί είναι αυτός των δεδομένων που εκχωρούνται στη μεταβλητή. Για να δούμε τον τύπο δεδομένων μιας μεταβλητής χρησιμοποιούμε την εντολή type(<μεταβλητή>), όπως στο ακόλουθο παράδειγμα:

>>>a=7
>>>type(a)
<class ‘int’>
>>>b=3.9
>>>type(b)
<class ‘float’>
>>>c=12+34j
>>>type(c)
<class 'complex'>
>>>s='myname is Yiannis'
>>>type(s)
<class 'str'>
>>>c=[3, 7.9, ‘op’]
>>>type(c)
<class ‘list’>

Μια μεταβλητή στην Python έχει όνομα που μπορεί να έχει οποιοδήποτε μήκος, χωρίς να έχει αρνητική επίδραση στην εκτέλεση του προγράμματος, ούτε στο τελικό μέγεθος του μεταφρασμένου κώδικα. Το όνομα μιας μεταβλητής πρέπει να ξεκινά από γράμμα του αλφαβήτου και μπορεί να αποτελείται από οποιοδήποτε συνδυασμό γραμμάτων, ψηφίων και του χαρακτήρα της κάτω παύλας (_). Να ληφθεί υπόψη ότι τα πεζά γράμματα διακρίνονται από τα κεφαλαία γράμματα, π.χ. τα cat, Cat, Cat, CAT, Cat είναι διαφορετικά αναγνωριστικά.

Η Python επιβάλει ένα σημαντικό περιορισμό στη χρήση ονομάτων μεταβλητών. Τα ονόματα που δίνουμε σε μεταβλητές δεν πρέπει να συμπίπτουν με ονόματα δεσμευμένων λέξεων. Δεσμευμένες λέξεις είναι οι λέξεις που χρησιμοποιούνται στα διάφορα μέρη του προγράμματος π.χ. for, if, else κ.τ.λ.

Οι σταθερές στην Python

Οι σταθερές στον προγραμματισμό παριστάνουν δεδομένα τα οποία είναι σταθερά και δεν μπορούν να αλλάξουν κατά την εκτέλεση του προγράμματος. Μια σταθερά είναι μια τιμή οποιοδήποτε τύπου δεδομένων ή συμβολοσειράς. Μια σταθερά συμβολοσειράς στον προγραμματισμό Python, τοποθετείται ανάμεσα σε μονά (‘ ‘ ), διπλά(“  “) ή τριπλά (‘’’   ‘’’) εισαγωγικά.

Οι τύποι δεδομένων στην Python

Στον προγραμματισμό Python υπάρχουν πέντε βασικοί προκαθορισμένοι τύποι δεδομένων: ο ακέραιος (int), ο πραγματικός (float), ο μιγαδικός (complex), η συμβολοσειρά (str) και ο λογικός (bool).

Ο ακέραιος τύπος (integer)

Ο ακέραιος τύπος δεδομένων στην Python περιλαμβάνει τους γνωστούς ακεραίους που γνωρίζουμε από τα μαθηματικά, μαζί με το μηδέν και οι οποίοι μπορεί να είναι θετικοί ή αρνητικοί αριθμοί. Οι τιμές του ακέραιου τύπου μπορούν να έχουν απεριόριστο μέγεθος και μπορούν να αποθηκεύονται στη μνήμη του Η/Υ με ακρίβεια, ενώ οι πράξεις με ακεραίους γίνονται από τον Η/Υ με ακρίβεια και είναι ταχύτερες από εκείνες του πραγματικού τύπου.

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

Μερικά παραδείγματα αριθμών δείχνονται ακολούθως:

Πραγματικός τύπος (float)

Ο πραγματικός τύπος δεδομένων είναι εκείνοι οι αριθμοί που περικλείουν την υποδιαστολή. Στους πραγματικούς αριθμούς κινητής υποδιαστολής, η Python τους αποθηκεύει σε δυο ξεχωριστά μέρη: τα δεκαδικά ψηφία και τον εκθέτη που ορίζει τη σωστή θέση της υποδιαστολής. Οι πραγματικοί αριθμοί σταθερής υποδιαστολής είναι εκείνοι που περιέχουν μόνο τα ψηφία 0123456789 και συμπεριλαμβάνουν την υποδιαστολή καθώς και να έχουν πρόσημο. Οι πραγματικοί αριθμοί που συμπεριλαμβάνουν την υποδιαστολή θα πρέπει να έχουν ένα ψηφίο πριν ή μετά την υποδιαστολή. Π.χ. 3.76 ή -0.4 ή 8. ή .3

Τα δεδομένα ακέραιου τύπου παριστάνονται με τέλεια ακρίβεια στη μνήμη του υπολογιστή σε αντίθεση με τους πραγματικούς τύπους δεδομένων που παριστάνονται συνήθως με κάποια προσέγγιση π.χ. το 1/3 αποθηκεύεται ως 0.333333333333333

Μιγαδικός τύπος δεδομένων

Μια τιμή μιγαδικού τύπου, αποτελείται από δυο μέρη: το πραγματικό και το φανταστικό, τα οποία μπορεί να είναι τιμές τύπου σταθερής ή κινητής υποδιαστολής. Μπορούμε να ορίσουμε μιγαδικές τιμές με την συνάρτηση  complex( ) η οποία παίρνει δύο ορίσματα το πραγματικό και το φανταστικό μέρος της μιγαδικής τιμής ή με την χρήση της φανταστικής μονάδας j:

Παράδειγμα

>>>a=1+2j
>>>print(a)
  (1+2j)
>>>result = a*2
>>>print(result)
  (2+4j)
>>>test1 = complex(1, 2)
>>>test2 = complex(2, 3)
>>>result2 = test1 + test2
>>>print(result2)
   (3+5j)
>>>print(test1*test2)
  (-4+7j)

Ο τύπος δεδομένων της συμβολοσειράς

Μια συμβολοσειρά είναι μια ακολουθία από χαρακτήρες που περικλείονται σε μονά ( ‘ ) ή διπλά ( “ ) ή τριπλά εισαγωγικά ( ‘’’ ). Μπορούμε να χρησιμοποιήσουμε μονά εισαγωγικά μέσα σε διπλά εισαγωγικά. Με τη χρήση τριπλών εισαγωγικών μπορούμε να δημιουργήσουμε συμβολοσειρές πολλαπλών γραμμών. Επίσης μπορούμε να χρησιμοποιήσουμε μονά και διπλά εισαγωγικά μέσα σε τριπλά εισαγωγικά.

Μια τιμή τύπου συμβολοσειράς μπορεί να έχει τους χαρακτήρες των γραμμάτων του λατινικού και ελληνικού αλφαβήτου, τα ψηφία 0 έως 9, το κενό και όλους τους χαρακτήρες που χρησιμοποιούνται για να δημιουργήσουμε εντολές Python (+ – * / : = , <  <=  >=  >  <>)

Ο λογικός τύπος δεδομένων

Μια τιμή λογικού τύπου δεδομένων μπορεί να πάρει μια από τις δυο τιμές False και True. Αυτός ο τύπος χρησιμοποιείται σε εντολές που χρειάζεται να πάρει η CPU μια απόφαση για την διακλάδωση της ροής εκτέλεσης του προγράμματος.

Πράξεις με μεταβλητές

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

sum = 56
a = 0

Μπορούμε να διαγράψουμε μια μεταβλητή – αντικείμενο με την εντολή del

del sum, a

Μπορούμε να εκχωρήσουμε μια τιμή σε αρκετές μεταβλητές την ίδια στιγμή π.χ.:

a = b = c = d = 0

Παρόμοια μπορούμε να έχουμε μαζική εκχώρηση τιμών σε μεταβλητές όπως π.χ.:

a, b, c = 9, 15, 7

Το οποίο είναι ισοδύναμο με a=9 και b=15 καθώς και c=7