Στην Python, οι τύποι δεδομένων αναφέρονται στο είδος της τιμής που μπορεί να αντιστοιχεί σε μια μεταβλητή. Υπάρχουν αρκετοί τύποι δεδομένων στην Python, μεταξύ των οποίων:
- Οι ακέραιοι αριθμοί (integers) αντιπροσωπεύουν ακέραιες τιμές όπως το 1, το 2, το -5 κλπ.
- Οι δεκαδικοί αριθμοί (floats) αντιπροσωπεύουν αριθμούς με δεκαδική ακρίβεια, όπως το 3.14, το 2.718 κλπ.
- Η λογική τιμή (boolean) μπορεί να είναι είτε True είτε False και χρησιμοποιείται συνήθως για λογικές εκφράσεις και συνθήκες.
- Οι συμβολοσειρές (strings) αναπαριστούν αλφαριθμητικά κειμένου και περικλείονται σε εισαγωγικά (μονά ή διπλά).
- Οι λίστες (lists) είναι συλλογές ταξινομημένων και αλληλουχούντων στοιχείων, τα οποία μπορούν να τροποποιηθούν.
- Οι πλειάδες (tuples) είναι συλλογές αντικειμένων που είναι αμετάβλητα και ταξινομημένα.
- Τα λεξικά (dictionaries) είναι συλλογές κλειδιού-τιμής, όπου κάθε στοιχείο αντιστοιχεί σε ένα μοναδικό κλειδί και μια αντίστοιχη τιμή
- Τα sets και frozensets είναι συλλογές μοναδικών στοιχείων, όπου τα sets μπορούν να τροποποιηθούν ενώ τα frozensets είναι αμετάβλητα.
- Το αντικείμενο None αντιπροσωπεύει την έλλειψη τιμής ή την απουσία αντικειμένου.
Αυτοί οι τύποι δεδομένων σας επιτρέπουν να αποθηκεύετε και να επεξεργάζεστε διάφορες μορφές δεδομένων στην Python, ανάλογα με τις ανάγκες του προγράμματός σας.
Οι τύποι δεδομένων είναι σημαντικοί στην Python, καθώς ορίζουν τις επιτρεπόμενες λειτουργίες για μια μεταβλητή, καθώς και τον τρόπο με τον οποίο αποθηκεύεται η τιμή της μεταβλητής στη μνήμη. Γνωρίζοντας τους τύπους δεδομένων και τις επιτρεπόμενες λειτουργίες για κάθε τύπο, μπορείτε να γράψετε πιο αποδοτικό και ασφαλές κώδικα στην Python.
Στην Python, κάθε τύπος δεδομένων έχει διαφορετικές ιδιότητες και λειτουργίες που μπορούν να εκτελεστούν πάνω στα δεδομένα. Για παράδειγμα, μπορούμε να πραγματοποιήσουμε αριθμητικές πράξεις με ακέραιους ή δεκαδικούς αριθμούς, να εκτελέσουμε λειτουργίες εύρεσης μήκους ή στοιχείων σε λίστες και πλειάδες, και να εκτελέσουμε πολλές άλλες χρήσιμες ενέργειες σε κάθε τύπο δεδομένων.
Μια σημαντική ιδιότητα της Python είναι ότι δεν είναι απαραίτητο να δηλώσουμε εκ των προτέρων τον τύπο μιας μεταβλητής. Η γλώσσα αναγνωρίζει αυτόματα τον τύπο της τιμής που της αντιστοιχεί κατά τη διάρκεια της εκτέλεσης του προγράμματος. Αυτό επιτρέπει μεγαλύτερη ευελιξία κατά την ανάπτυξη του κώδικα και απλοποιεί την χρήση των τύπων δεδομένων.
Σωστά! Οι ενσωματωμένοι τύποι δεδομένων στην Python καλύπτουν διάφορες κατηγορίες και χρησιμοποιούνται για διάφορους σκοπούς. Ας εξετάσουμε περισσότερες λεπτομέρειες για κάθε τύπο:
- Τύπος κειμένου (Text Type): Ο τύπος
str
αντιπροσωπεύει συμβολοσειρές κειμένου και χρησιμοποιείται για την αποθήκευση και επεξεργασία κειμένου. - Αριθμητικοί τύποι (Numeric Types): Ο τύπος
int
χρησιμοποιείται για ακέραιους αριθμούς, ο τύποςfloat
χρησιμοποιείται για δεκαδικούς αριθμούς με κινητή υποδιαστολή, και ο τύποςcomplex
χρησιμοποιείται για τους μιγαδικούς αριθμούς. - Τύποι ακολουθίας (Sequence Types): Ο τύπος
list
αντιπροσωπεύει μια ακολουθία μεταβλητού μήκους στοιχείων, ο τύποςtuple
αντιπροσωπεύει μια ακολουθία μη-επεξεργάσημων στοιχείων, και ο τύποςrange
χρησιμοποιείται για να αναπαραστήσει μια ακολουθία αριθμών. - Τύπος αντιστοίχισης (Mapping Type): Ο τύπος
dict
αντιπροσωπεύει ένα λεξικό αντιστοίχισης κλειδιών-τιμών, όπου κάθε τιμή αντιστοιχεί σε ένα μοναδικό κλειδί. - Τύποι συνόλου (Set Types): Ο τύπος
set
αντιπροσωπεύει ένα σύνολο μη ταξινομημένων, μη επαναλαμβανόμενων στοιχείων, ενώ ο τύποςfrozenset
αντιπροσωπεύει ένα αναλλοίωτο (αμετάβλητο) σύνολο. - Τύπος Boolean: Ο τύπος
bool
αντιπροσωπεύει την τιμή True ή False και χρησιμοποιείται συνήθως για λογικές συνθήκες και δηλώσεις. - Δυαδικοί τύποι (Binary Types): Ο τύπος
bytes
χρησιμοποιείται για ακολουθίες από bytes, ο τύποςbytearray
χρησιμοποιείται για ακολουθίες από mutable bytes, και ο τύποςmemoryview
χρησιμοποιείται για να αναπαραστήσει τη μνήμη μιας ακολουθίας. - Τύπος None: Ο τύπος
NoneType
αντιπροσωπεύει μια ειδική τιμή None, που σημαίνει την απουσία τιμής ή τη μηδενική τιμή.
Καθένας από αυτούς τους τύπους έχει τις δικές του μεθόδους και λειτουργίες που μπορούν να εκτελεστούν πάνω τους. Αυτό μας επιτρέπει να εργαστούμε με δεδομένα στην Python στον κατάλληλο τύπο και να εκτελούμε τις απαιτούμενες λειτουργίες για τον κάθε τύπο.
Στην Python, ο τύπος δεδομένων ορίζεται κατά την ανάθεση μιας τιμής σε μια μεταβλητή
Μπορούμε να δώσουμε την ακόλουθη εντολή για να αναθέσουμε την τιμή “Hello, World!” σε μια μεταβλητή με το όνομα my_str και στη συνέχεια να εμφανίσουμε την τιμή αυτή και τον τύπο της με τη χρήση της συνάρτησης type():
# Δημιουργία μιας μεταβλητής με τύπο δεδομένων string my_str = "Hello, World!" # Εκτύπωση της τιμής της μεταβλητής print(my_str) # Εκτύπωση του τύπου δεδομένων της μεταβλητής print(type(my_str))
[adinserter block=”2″]
Το παραπάνω πρόγραμμα δημιουργεί μια μεταβλητή με όνομα my_str
και της αναθέτει την τιμή “Hello, World!”. Στη συνέχεια, εκτυπώνει την τιμή της μεταβλητής χρησιμοποιώντας την εντολή print
. Τέλος, με τη χρήση της συνάρτησης type
, εκτυπώνει τον τύπο δεδομένων της μεταβλητής my_str
. Στην περίπτωση αυτή, ο τύπος δεδομένων είναι str
(string).
Hello, World! <class 'str'>
Μπορούμε να δώσουμε την ακόλουθη εντολή για να αναθέσουμε την τιμή 42 σε μια μεταβλητή με το όνομα my_int και στη συνέχεια να εμφανίσουμε την τιμή αυτή και τον τύπο της με τη χρήση της συνάρτησης type():
# Δημιουργία μιας μεταβλητής με τύπο δεδομένων int my_int = 42 # Εκτύπωση της τιμής της μεταβλητής print(my_int) # Εκτύπωση του τύπου δεδομένων της μεταβλητής print(type(my_int))
Το παραπάνω πρόγραμμα δημιουργεί μια μεταβλητή με όνομα my_int
και της αναθέτει την τιμή 42. Στη συνέχεια, εκτυπώνει την τιμή της μεταβλητής χρησιμοποιώντας την εντολή print
. Τέλος, με τη χρήση της συνάρτησης type
, εκτυπώνει τον τύπο δεδομένων της μεταβλητής my_int
. Στην περίπτωση αυτή, ο τύπος δεδομένων είναι int
(ακέραιος αριθμός).
42 <class 'int'>
Οι ακέραιοι αριθμοί περιορίζονται σε ακέραιες τιμές, ενώ οι αριθμοί κινητής υποδιαστολής μπορούν να έχουν δεκαδικά ψηφία. Στην Python, ο τύπος δεδομένων int
αντιπροσωπεύει ακέραιους αριθμούς και ο τύπος δεδομένων float
αντιπροσωπεύει αριθμούς κινητής υποδιαστολής.
Οι αριθμοί κινητής υποδιαστολής (floats) μπορούν να έχουν δεκαδικά ψηφία και εκφράζονται με τη χρήση του δεκαδικού σημείου. Για παράδειγμα, ο αριθμός 3.14
είναι ένας float αριθμός, καθώς περιέχει δεκαδικό ψηφίο. Εδώ είναι ένα παράδειγμα float και το αποτέλεσμα του τύπου του:
# Δημιουργία μιας μεταβλητής με τύπο δεδομένων float my_float = 3.14 # Εκτύπωση της τιμής της μεταβλητής print(my_float) # Εκτύπωση του τύπου δεδομένων της μεταβλητής print(type(my_float))
Αυτό το πρόγραμμα δημιουργεί μια μεταβλητή με όνομα my_float
και της αναθέτει την τιμή 3.14. Στη συνέχεια, εκτυπώνει την τιμή της μεταβλητής και τον τύπο δεδομένων της. Σε αυτήν την περίπτωση, ο τύπος δεδομένων είναι float
. Αυτό θα πρέπει να επιστρέψει:
3.14 <class 'float'>
Μπορούμε να ορίσουμε έναν αριθμό σε μορφή επαγωγικού αριθμού (j) για να δημιουργήσεις έναν αριθμό τύπου complex στην Python.
# Δημιουργία μιας μεταβλητής με τύπο δεδομένων complex x = 3 + 5j # Εκτύπωση του τύπου δεδομένων της μεταβλητής print(type(x))
Το παραπάνω πρόγραμμα δημιουργεί μια μεταβλητή με όνομα x
και της αναθέτει την τιμή 3 + 5j. Η τιμή αυτή αντιστοιχεί σε έναν αριθμό τύπου complex, που αποτελείται από ένα πραγματικό και ένα φανταστικό μέρος. Με τη χρήση της συνάρτησης type
, εκτυπώνεται ο τύπος δεδομένων της μεταβλητής x
, που στην περίπτωση αυτή είναι complex
. Αυτό θα πρέπει να εκτυπώσει:
<class 'complex'>
Η λίστα είναι μια δομή δεδομένων στην Python που αποθηκεύει μια σειρά από τιμές. Οι τιμές αυτές μπορούν να είναι διαφορετικού τύπου, όπως ακέραιοι, δεκαδικοί αριθμοί, αλφαριθμητικά ή ακόμη και αντικείμενα από άλλες κλάσεις στην Python. Η σειρά των αντικειμένων στη λίστα διατηρείται, πράγμα που σημαίνει ότι τα αντικείμενα βρίσκονται σε συγκεκριμένη θέση στη λίστα.
Η λίστα είναι μια μεταβλητή δομή δεδομένων, δηλαδή μπορούμε να προσθέσουμε ή να αφαιρέσουμε αντικείμενα από αυτήν και να τροποποιήσουμε τα περιεχόμενά της. Μπορούμε να προσθέσουμε νέα αντικείμενα στη λίστα με τη χρήση της μεθόδου append()
, να αφαιρέσουμε αντικείμενα με τη μέθοδο remove()
ή pop()
, και να τα ταξινομήσουμε με τη χρήση της μεθόδου sort()
.
Η λίστα είναι μια πολύ χρήσιμη δομή δεδομένων στην Python καθώς παρέχει ευελιξία και δυνατότητες για την αποθήκευση και επεξεργασία συνδυασμών διαφορετικών τύπων δεδομένων.
Μπορείτε να δημιουργήσετε μια λίστα χρησιμοποιώντας την ακόλουθη σύνταξη:
# Δημιουργία μιας λίστας με διάφορους τύπους δεδομένων my_list = [1, "hello", True] # Εκτύπωση της λίστας print(my_list)
Το παραπάνω πρόγραμμα δημιουργεί μια λίστα με όνομα my_list
που περιέχει τρία στοιχεία διαφορετικών τύπων δεδομένων: τον ακέραιο αριθμό 1, τη συμβολοσειρά “hello” και τη λογική τιμή True. Η λίστα εκτυπώνεται χρησιμοποιώντας τη συνάρτηση print
, και τα στοιχεία της εμφανίζονται με τη σειρά που έχουν προστεθεί.
Το αποτέλεσμα που θα εκτυπωθεί στην οθόνη θα είναι η λίστα που δημιουργήσαμε:
[1, 'hello', True]
Η συνάρτηση type() μπορεί να χρησιμοποιηθεί για να επιστρέψει τον τύπο μιας μεταβλητής. Για παράδειγμα, αν χρησιμοποιήσουμε τη συνάρτηση type() για τη λίστα my_list, θα επιστραφεί ο τύπος list, όπως φαίνεται στο παρακάτω παράδειγμα:
print(type(my_list))
Αποτέλεσμα:
<class 'list'>
[adinserter block=”3″]
Ένα tuple στην Python είναι μια ακολουθία αντικειμένων που είναι αμετάβλητη (immutable). Αυτό σημαίνει ότι μόλις δημιουργηθεί ένα tuple, δεν μπορεί να αλλάξει το περιεχόμενό του. Τα στοιχεία ενός tuple διαχωρίζονται με κόμμα και συνήθως περικλείονται σε παρενθέσεις, αν και αυτό δεν είναι απαραίτητο.
Τα tuples χρησιμοποιούνται συνήθως για να αποθηκεύσουν μια σταθερή ακολουθία αντικειμένων που δεν πρόκειται να αλλάξει. Για παράδειγμα, μπορείτε να χρησιμοποιήσετε ένα tuple για να αποθηκεύσετε ένα σύνολο συντεταγμένων (π.χ. συντεταγμένες ενός σημείου σε έναν χώρο) ή τα στοιχεία μιας ημερομηνίας (π.χ. έτος, μήνας, ημέρα). Το γεγονός ότι τα tuples είναι αμετάβλητα τους καθιστά κατάλληλα για τέτοιες περιπτώσεις, όπου θέλουμε να διασφαλίσουμε ότι οι τιμές παραμένουν σταθερές.
Παράδειγμα:
# Δημιουργία μιας πλειάδας (tuple) my_tuple = ("apple", "banana", "cherry") # Εκτύπωση της πλειάδας print(my_tuple)
Το παραπάνω πρόγραμμα δημιουργεί μια πλειάδα με όνομα my_tuple
που περιέχει τρία στοιχεία: τη συμβολοσειρά “apple”, τη συμβολοσειρά “banana” και τη συμβολοσειρά “cherry”. Η πλειάδα εκτυπώνεται χρησιμοποιώντας τη συνάρτηση print
, και τα στοιχεία της εμφανίζονται με τη σειρά που έχουν προστεθεί. Οι πλειάδες είναι αμετάβλητες, που σημαίνει ότι δεν μπορούν να τροποποιηθούν μετά τη δημιουργία τους.
Το αποτέλεσμα θα είναι:
('apple', 'banana', 'cherry')
Παρατηρούμε ότι το tuple περικλείεται σε παρενθέσεις και αποτελείται από τρία στοιχεία, τα οποία είναι συμβολοσειρές. Ο τύπος του tuple είναι tuple, όπως φαίνεται στην οθόνη κατά την εκτέλεση του παραπάνω κώδικα.
Αν δώσουμε το παραπάνω παράδειγμα με το tuple στην type() συνάρτηση, θα λάβουμε το εξής αποτέλεσμα:
# Δημιουργία μιας πλειάδας (tuple) my_tuple = ("apple", "banana", "cherry") # Εκτύπωση του τύπου της πλειάδας print(type(my_tuple))
Το παραπάνω πρόγραμμα δημιουργεί μια πλειάδα με όνομα my_tuple
που περιέχει τρία στοιχεία: τη συμβολοσειρά “apple”, τη συμβολοσειρά “banana” και τη συμβολοσειρά “cherry”. Ο τύπος της πλειάδας εκτυπώνεται χρησιμοποιώντας τη συνάρτηση type
, και θα εμφανιστεί το μήνυμα <class 'tuple'>
, που υποδηλώνει ότι η μεταβλητή my_tuple
είναι τύπου πλειάδας (tuple). Το αποτέλεσμα θα είναι:
<class 'tuple'>
Επιστρέφεται ο τύπος του αντικειμένου, στην περίπτωσή μας, ο τύπος είναι tuple.
Η συνάρτηση range()
στην Python δέχεται ένα ή δύο ορίσματα και επιστρέφει μια ακολουθία ακεραίων αριθμών από έναν καθορισμένο αρχικό αριθμό έως έναν τελικό αριθμό, με ένα συγκεκριμένο βήμα. Η ακολουθία αυτή δεν αποθηκεύεται στη μνήμη, αλλά δημιουργείται επαναληπτικά κατά τη διάρκεια της εκτέλεσης του προγράμματος. Αυτό την καθιστά ιδιαίτερα χρήσιμη για επαναλήψεις, εντολές ελέγχου ροής και άλλες επεξεργασίες που απαιτούν μια σειρά ακεραίων αριθμών.
Για παράδειγμα, η κλήση range(1, 10, 2)
θα δημιουργήσει μια ακολουθία που περιλαμβάνει τους αριθμούς 1, 3, 5, 7, 9. Ο πρώτος αριθμός (1) είναι ο αρχικός αριθμός, ο δεύτερος αριθμός (10) είναι ο τελικός αριθμός και το τρίτο όρισμα (2) είναι το βήμα μεταξύ των αριθμών. Με αυτόν τον τρόπο, μπορούμε να δημιουργήσουμε μια ακολουθία με τους ακέραιους αριθμούς από το 1 έως το 10 με βήμα 2.
Η συνάρτηση range()
επίσης μπορεί να χρησιμοποιηθεί με ένα μόνο όρισμα, π.χ. range(5)
, οπότε θα δημιουργηθεί μια ακολουθία που περιλαμβάνει τους αριθμούς 0, 1, 2, 3, 4. Σε αυτήν την περίπτωση, ο αρχικός αριθμός θεωρείται 0 και το βήμα είναι 1 (προεπιλεγμένη τιμή).
Η συνάρτηση range()
μπορεί να χρησιμοποιηθεί μαζί με την εντολή for
για να επαναλάβουμε μέσα από την ακολουθία αριθμών ή για να δημιουργήσουμε λίστες αριθμών με τη χρήση της συνάρτησης list()
.
Παράδειγμα:
# Δημιουργία εύρους (range) my_range = range(0, 10, 2) # Εκτύπωση του εύρους print(my_range) # Εκτύπωση του τύπου του εύρους print(type(my_range))
Το αποτέλεσμα στην οθόνη θα είναι:
range(0, 10, 2) <class 'range'>
Το παραπάνω πρόγραμμα δημιουργεί ένα εύρος με όνομα my_range
που περιλαμβάνει τους αριθμούς από 0 έως 10 με βήμα 2. Το εύρος δεν εκτυπώνεται απευθείας ως συλλογή στην οθόνη, αλλά εμφανίζεται η αναπαράστασή του. Επίσης, ο τύπος του εύρους εκτυπώνεται χρησιμοποιώντας τη συνάρτηση type
, και θα εμφανιστεί το μήνυμα <class 'range'>
, που υποδηλώνει ότι η μεταβλητή my_range
είναι τύπου εύρους (range).
Το λεξικό (dictionary) είναι ένας τύπος δεδομένων στην Python που αποθηκεύει ζεύγη κλειδιού-τιμής. Κάθε κλειδί είναι μοναδικό στο λεξικό και αντιστοιχεί σε μια συγκεκριμένη τιμή. Τα κλειδιά μπορούν να είναι αντικείμενα από διάφορους τύπους, όπως αλφαριθμητικά, αριθμοί ή ακόμη και πλειάδες (tuples), ενώ οι τιμές μπορούν να είναι οποιουδήποτε τύπου δεδομένων της Python.
Το λεξικό είναι μια αποδοτική δομή δεδομένων στην Python, καθώς επιτρέπει γρήγορη αναζήτηση των τιμών με βάση τα κλειδιά τους, ανεξάρτητα από το μέγεθος του λεξικού. Μπορείτε να προσθέσετε, να τροποποιήσετε και να αφαιρέσετε ζεύγη κλειδιού-τιμής από ένα λεξικό. Επίσης, μπορείτε να εκτελέσετε λειτουργίες όπως η εύρεση μήκους του λεξικού, ο έλεγχος της ύπαρξης ενός κλειδιού και η επανάληψη μέσω των ζευγών κλειδιού-τιμής.
Ένα παράδειγμα ενός dictionary στην Python είναι το εξής:
# Δημιουργία λεξικού (dictionary) my_dict = {"apple": 2, "banana": 4, "orange": 1} # Εκτύπωση του τύπου του λεξικού print(type(my_dict))
# Δημιουργία λεξικού (dictionary) my_dict = {"apple": 2, "banana": 4, "orange": 1} # Εκτύπωση του τύπου του λεξικού print(type(my_dict))
Το παραπάνω πρόγραμμα δημιουργεί ένα λεξικό με όνομα my_dict
, που περιλαμβάνει ζεύγη κλειδιού-τιμής. Το λεξικό περιλαμβάνει τρία ζεύγη, όπου το κλειδί είναι το όνομα του φρούτου και η τιμή είναι ο αριθμός των κομματιών που υπάρχουν. Ο τύπος του λεξικού εκτυπώνεται χρησιμοποιώντας τη συνάρτηση type
, και θα εμφανιστεί το μήνυμα <class 'dict'>
, που υποδηλώνει ότι η μεταβλητή my_dict
είναι τύπου λεξικού (dictionary).
Το αποτέλεσμα του print(type(my_dict)) θα είναι:
<class 'dict'>
Το σύνολο (set) είναι ένας τύπος δεδομένων στην Python που αναπαριστά μια μοναδική συλλογή από αντικείμενα, όπου τα αντικείμενα δεν εμφανίζονται παραπάνω από μία φορά. Τα στοιχεία ενός σετ είναι μη ταξινομημένα και πρέπει να είναι όλα διαφορετικά μεταξύ τους, δηλαδή δεν μπορεί να περιέχει διπλότυπα. Ένα σετ μπορεί να περιέχει στοιχεία διάφορων τύπων, όπως αριθμούς, αλφαριθμητικά και ακόμα και άλλα σετ.
Ένα σετ δημιουργείται χρησιμοποιώντας αγκύλες {}
ή την ενσωματωμένη συνάρτηση set()
. Για παράδειγμα:
my_set = {1, 2, 3, "hello", (4, 5)} print(my_set) print(type(my_set))
Το παραπάνω πρόγραμμα δημιουργεί ένα σετ με όνομα my_set
, που περιλαμβάνει πέντε στοιχεία: τους αριθμούς 1, 2, 3, το αλφαριθμητικό “hello” και το tuple (4, 5)
. Τα στοιχεία εμφανίζονται με τη σειρά που ορίστηκαν, αλλά το σετ δεν διατηρεί κάποια συγκεκριμένη σειρά. Ο τύπος του σετ εκτυπώνεται χρησιμοποιώντας τη συνάρτηση type
, και θα εμφανιστεί το μήνυμα <class 'set'>
, που υποδηλώνει ότι η μεταβλητή my_set
είναι τύπου σετ.
Το αποτέλεσμα της εκτέλεσης θα είναι:
{1, 2, 3, 'hello', (4, 5)} <class 'set'>
Το σετ my_set
περιλαμβάνει τα στοιχεία 1, 2, 3, ‘hello’ και (4, 5). Τα στοιχεία εμφανίζονται σε μια μη ταξινομημένη σειρά. Ο τύπος του my_set
είναι set
, όπως επιβεβαιώνεται από την έξοδο της συνάρτησης type()
.
[adinserter block=”5″]
Το αποτέλεσμα της εκτέλεσης θα είναι:
{1, 2, 3, 'hello', (4, 5)} <class 'set'>
Το σετ my_set
περιλαμβάνει τα στοιχεία 1, 2, 3, ‘hello’ και (4, 5). Τα στοιχεία εμφανίζονται σε μια μη ταξινομημένη σειρά. Ο τύπος του my_set
είναι set
, όπως επιβεβαιώνεται από την έξοδο της συνάρτησης type()
.
Το frozenset
είναι μια ενσωματωμένη δομή δεδομένων στην Python που αντιπροσωπεύει ένα αμετάβλητο σύνολο αντικειμένων. Αντίθετα με το set
, το frozenset
δεν μπορεί να τροποποιηθεί μετά τη δημιουργία του. Αυτό σημαίνει ότι δεν μπορούμε να προσθέσουμε, να αφαιρέσουμε ή να τροποποιήσουμε τα στοιχεία του frozenset
μετά τη δημιουργία του.
Το frozenset
μπορεί να περιέχει μόνο μη μεταβλητά (immutable) στοιχεία, όπως ακέραιους αριθμούς, συμβολοσειρές, αλφαριθμητικά, δεδομένα κατάστασης και ακόμα και άλλα frozenset
. Αν κάποιο στοιχείο του frozenset
είναι μεταβλητό (mutable), όπως μια λίστα ή ένα set
, τότε δεν μπορεί να περιληφθεί σε ένα frozenset
.
Το frozenset
χρησιμοποιείται κυρίως όταν θέλουμε να αποθηκεύσουμε μια μόνιμη και μη αλλοιώσιμη συλλογή αντικειμένων, χωρίς τη δυνατότητα αλλαγής της.
# Δημιουργία frozenset my_frozenset = frozenset([1, 2, 3, 4]) # Εκτύπωση του frozenset print(my_frozenset) # Εκτύπωση του τύπου του frozenset print(type(my_frozenset))
# Δημιουργία παγωμένου συνόλου (frozenset) my_frozenset = frozenset([1, 2, 3, 4]) # Εκτύπωση του παγωμένου συνόλου print(my_frozenset) # Εκτύπωση του τύπου του παγωμένου συνόλου print(type(my_frozenset))
Το παραπάνω πρόγραμμα δημιουργεί ένα frozenset
με όνομα my_frozenset
που περιλαμβάνει τους αριθμούς 1, 2, 3 και 4. Το παγωμένο σύνολο εκτυπώνεται απευθείας στην οθόνη και εμφανίζονται οι τιμές του συνόλου. Επίσης, ο τύπος του frozenset
εκτυπώνεται χρησιμοποιώντας τη συνάρτηση type
, και θα εμφανιστεί το μήνυμα <class 'frozenset'>
, που υποδηλώνει ότι η μεταβλητή my_frozenset
είναι τύπου frozenset
.
Έξοδος:
frozenset({1, 2, 3, 4}) <class 'frozenset'>
Ο τύπος bool
στην Python χρησιμοποιείται για την αναπαράσταση των δύο τιμών True (Αληθής) και False (Ψευδής). Οι τιμές αυτές αντιπροσωπεύουν την αληθή και ψευδή κατάσταση ενός προγράμματος ή μιας συνθήκης. Ο τύπος bool
είναι ιδιαίτερα χρήσιμος στην εκτέλεση συνθηκών και λογικών πράξεων, όπως η ελέγχου της αλήθειας μιας συνθήκης, η χρήση λογικών τελεστών (όπως το AND, OR, NOT), και η αποθήκευση και ανάγνωση διακριτών τιμών.
Παράδειγμα:
# Ανάθεση τιμών στις μεταβλητές x και y x = 5 y = 10 # Εκτέλεση σύγκρισης x < y και αποθήκευση του αποτελέσματος στη μεταβλητή z z = x < y # Εκτύπωση της μεταβλητής z print(z)
Στο παραπάνω πρόγραμμα, γίνεται σύγκριση των τιμών των μεταβλητών x
και y
με τον τελεστή <
(μικρότερο από). Το αποτέλεσμα της σύγκρισης αποθηκεύεται στη μεταβλητή z
. Στη συνέχεια, εκτυπώνεται η τιμή της μεταβλητής z
, η οποία αντιστοιχεί στην απάντηση της σύγκρισης. Αν η σύγκριση είναι αληθής, θα εμφανιστεί True
, ενώ αν είναι ψευδής, θα εμφανιστεί False
. Στη συγκεκριμένη περίπτωση, αν x
είναι μικρότερο από y
, η τιμή της μεταβλητής z
θα είναι True
, ενώ αν x
είναι μεγαλύτερο ή ίσο με y
, η τιμή της z
θα είναι False
.
Το αποτέλεσμα του type() για το παραπάνω πρόγραμμα θα είναι:
<class 'bool'>
Στην Python, ο τύπος δεδομένων bytes
χρησιμοποιείται για την αποθήκευση δυαδικών δεδομένων, όπως αρχεία εικόνων, ήχου και βίντεο. Το bytes
αναπαριστά μια ακολουθία από μη αλλάζοντα στοιχεία, τα οποία είναι αναπαραστάσεις δυαδικών τιμών από 0 έως 255. Ο τύπος bytes
είναι αμετάβλητος, δηλαδή δεν μπορεί να τροποποιηθεί μετά τη δημιουργία του.
Ο τύπος bytes
είναι χρήσιμος όταν χρειάζεται να αποθηκεύσετε δυαδικά δεδομένα και να εκτελέσετε λειτουργίες όπως ανάγνωση, εγγραφή ή μετατροπή δεδομένων. Για παράδειγμα, μπορείτε να χρησιμοποιήσετε τον τύπο bytes
για να διαβάσετε το περιεχόμενο ενός αρχείου εικόνας και να το μετατρέψετε σε μια εικόνα που μπορεί να εμφανιστεί στην οθόνη ή να επεξεργαστείτε.
Για να δημιουργήσετε ένα αντικείμενο τύπου bytes
, μπορείτε να χρησιμοποιήσετε τη συνάρτηση bytes()
και να παρέχετε τα δεδομένα σας ως ορίσματα. Επίσης, μπορείτε να χρησιμοποιήσετε τη σύνταξη των αλφαριθμητικών με πρόθεμα b
για να δημιουργήσετε ένα αντικείμενο bytes
. Για παράδειγμα:
data = bytes([0x48, 0x65, 0x6c, 0x6c, 0x6f]) # Χρήση της συνάρτησης bytes() print(data) data = b"Hello" # Χρήση της σύνταξης με πρόθεμα b print(data)
Τόσο η συνάρτηση bytes()
όσο και η σύνταξη με πρόθεμα b
δημιουργούν ένα αντικείμενο bytes
με τις συγκεκριμένες δυαδικές τιμές που παρέχονται ως είσοδο.
Το bytearray
είναι ένας τύπος δεδομένων στην Python που αναπαριστά μια εναλλασσόμενηακολουθία από ακέραιους αριθμούς από 0 έως 255. Οι τιμές αυτές αντιπροσωπεύουν τα bytes και μπορούν να τροποποιηθούν. Το bytearray
προσφέρει διάφορες μεθόδους για την εκτέλεση λειτουργιών σε αυτήν την ακολουθία, όπως πρόσθεση στοιχείων, αφαίρεση, αντικατάσταση και άλλες. Αυτό το καθιστά χρήσιμο για καταστάσεις όπου απαιτείται η αλλαγή ή η ενημέρωση ακολουθίας bytes.
Το παρακάτω είναι ένα παράδειγμα bytearray:
# Δημιουργία ενός bytearray my_bytes = bytearray(b"Hello World") # Εκτύπωση του bytearray print(my_bytes) # Εκτύπωση του τύπου του bytearray print(type(my_bytes))
Το παραπάνω πρόγραμμα δημιουργεί ένα bytearray με όνομα my_bytes
, το οποίο περιέχει την ακολουθία bytes b"Hello World"
. Το bytearray εκτυπώνεται και θα εμφανιστεί το περιεχόμενό του, ενώ ο τύπος του bytearray εκτυπώνεται και θα εμφανιστεί το μήνυμα <class 'bytearray'>
, που υποδηλώνει ότι η μεταβλητή my_bytes
είναι τύπου bytearray. Το αποτέλεσμα της εντολής type() στην οθόνη θα είναι:
bytearray(b'Hello World') <class 'bytearray'>
Το memoryview
είναι ένας ειδικός τύπος δεδομένων στην Python που επιτρέπει την προβολή (view) δεδομένων ως ακολουθία από bytes χωρίς την ανάγκη αντιγραφής τους στη μνήμη. Αυτό σημαίνει ότι μπορούμε να αναφερόμαστε σε ένα υπάρχον αντικείμενο bytes και να το εξετάζουμε, να το τροποποιούμε ή να το χρησιμοποιούμε ως ακολουθία bytes χωρίς να αντιγράφουμε τα δεδομένα σε ένα νέο αντικείμενο.
Η χρήση του memoryview
μπορεί να είναι χρήσιμη όταν έχουμε μεγάλα δεδομένα και θέλουμε να τα επεξεργαστούμε χωρίς να αντιγράψουμε τα δεδομένα στη μνήμη πρώτα. Αυτό μας επιτρέπει να εξοικονομήσουμε μνήμη και να βελτιώσουμε την απόδοση του κώδικά μας, καθώς αποφεύγουμε την περαιτέρω κατανάλωση μνήμης για την αντιγραφή των δεδομένων.
Ως αποτέλεσμα, το memoryview
μας επιτρέπει να επεξεργαζόμαστε μεγάλα σύνολα δεδομένων με αποδοτικό τρόπο, καθώς μπορούμε να περιηγηθούμε σε αυτά χωρίς να αντιγράφουμε τα δεδομένα στη μνήμη πρώτα.
Ένα παράδειγμα χρήσης του memoryview είναι το εξής:
# Δημιουργία ενός bytearray a = bytearray(b'hello') # Δημιουργία ενός memoryview από το bytearray v = memoryview(a) # Εκτύπωση του memoryview print(v)
Το παραπάνω πρόγραμμα δημιουργεί ένα bytearray με την τιμή b’hello’ και το αποθηκεύει στη μεταβλητή a
. Στη συνέχεια, δημιουργεί ένα memoryview από το bytearray a
και το αποθηκεύει στη μεταβλητή v
. Το memoryview παρέχει μια “προβολή” των δεδομένων του bytearray, επιτρέποντας πρόσβαση και τροποποίηση των δεδομένων χωρίς την ανάγκη αντιγραφής τους.
Η εκτύπωση του memoryview θα εμφανίσει κάτι παρόμοιο με το εξής:
<memory at 0x7f2ab8459dc0>
Αυτό υποδηλώνει ότι η μεταβλητή v
είναι τύπου memoryview.
Ο τύπος NoneType αναφέρεται στο αντικείμενο None στην Python, το οποίο αντιπροσωπεύει την απουσία τιμής ή το “τίποτα”. Μπορεί να χρησιμοποιηθεί για να δηλώσει ότι ένα αντικείμενο δεν έχει καμία επιστρεφόμενη τιμή ή ότι μια μεταβλητή δεν έχει αρχικοποιηθεί ακόμη. Όταν χρησιμοποιούμε την εντολή type()
για το αντικείμενο None, το αποτέλεσμα είναι ο τύπος NoneType.
Παράδειγμα:
# Ανάθεση τιμής None στη μεταβλητή x x = None # Εκτύπωση του τύπου της μεταβλητής x print(type(x))
Το παραπάνω πρόγραμμα αναθέτει την τιμή None
στη μεταβλητή x
. Η None
είναι μια ειδική τιμή στην Python που χρησιμοποιείται για να υποδείξει την απουσία τιμής ή τη μη ύπαρξη αντικειμένου. Εκτυπώνοντας τον τύπο της μεταβλητής x
με τη χρήση της συνάρτησης type
, θα εμφανιστεί το μήνυμα <class 'NoneType'>
, που υποδηλώνει ότι η μεταβλητή x
είναι τύπου NoneType
.
Το αποτέλεσμα στην οθόνη θα είναι:
<class 'NoneType'>