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.

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

Στην Python, οι τύποι δεδομένων αναφέρονται στο είδος της τιμής που μπορεί να αντιστοιχεί σε μια μεταβλητή. Υπάρχουν αρκετοί τύποι δεδομένων στην Python, μεταξύ των οποίων:

  1. Ακέραιοι αριθμοί (integers)
  2. Δεκαδικοί αριθμοί (floats)
  3. Λογική τιμή (boolean)
  4. Συμβολοσειρές (strings)
  5. Λίστες (lists)
  6. Πλειάδες (tuples)
  7. Λεξικά (dictionaries)
  8. Sets και Frozensets
  9. Αντικείμενα None

Κάθε τύπος δεδομένων έχει τις δικές του ιδιότητες και λειτουργίες που μπορούν να εκτελεστούν πάνω του. Επίσης, στην Python, οι μεταβλητές δεν χρειάζεται να δηλωθούν εκ των προτέρων με έναν συγκεκριμένο τύπο δεδομένων, αλλά μπορούν να λάβουν οποιαδήποτε τιμή του αντίστοιχου τύπου δεδομένων κατά τη διάρκεια της εκτέλεσης του προγράμματος.

Στην Python υπάρχουν διάφοροι ενσωματωμένοι τύποι δεδομένων, οι οποίοι διακρίνονται σε διάφορες κατηγορίες:

  1. Τύπος κειμένου (Text Type): str
  2. Αριθμητικοί τύποι (Numeric Types): int, float, complex
  3. Τύποι ακολουθίας (Sequence Types): list, tuple, range
  4. Τύπος αντιστοίχισης (Mapping Type): dict
  5. Τύποι συνόλου (Set Types): set, frozenset
  6. Τύπος Boolean: bool
  7. Δυαδικοί τύποι (Binary Types): bytes, bytearray, memoryview
  8. Τύπος None: NoneType

Στην Python, ο τύπος δεδομένων ορίζεται κατά την ανάθεση μιας τιμής σε μια μεταβλητή

Μπορούμε να δώσουμε την ακόλουθη εντολή για να αναθέσουμε την τιμή “Hello, World!” σε μια μεταβλητή με το όνομα my_str και στη συνέχεια να εμφανίσουμε την τιμή αυτή και τον τύπο της με τη χρήση της συνάρτησης type():

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
my_str = "Hello, World!"
print(my_str)
print(type(my_str))
my_str = "Hello, World!" print(my_str) print(type(my_str))
my_str = "Hello, World!"
print(my_str)
print(type(my_str))

Το αποτέλεσμα θα είναι:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
Hello, World!
<class 'str'>
Hello, World! <class 'str'>
Hello, World!
<class 'str'>

Μπορούμε να δώσουμε την ακόλουθη εντολή για να αναθέσουμε την τιμή 42 σε μια μεταβλητή με το όνομα my_int και στη συνέχεια να εμφανίσουμε την τιμή αυτή και τον τύπο της με τη χρήση της συνάρτησης type():

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
my_int = 42
print(my_int)
print(type(my_int))
my_int = 42 print(my_int) print(type(my_int))
my_int = 42
print(my_int)
print(type(my_int))

Το αποτέλεσμα θα είναι:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
42
<class 'int'>
42 <class 'int'>
42
<class 'int'>

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

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
x = 3.14
print(type(x))
x = 3.14 print(type(x))
x = 3.14
print(type(x))

Αυτό θα πρέπει να επιστρέψει:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
<class 'float'>
<class 'float'>
<class 'float'>

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

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
x = 3 + 5j
print(type(x))
x = 3 + 5j print(type(x))
x = 3 + 5j
print(type(x))

Αυτό θα πρέπει να εκτυπώσει:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
<class 'complex'>
<class 'complex'>
<class 'complex'>

Το datatype “list” είναι μια δομή δεδομένων που μπορεί να αποθηκεύσει μια σειρά τιμών με διάφορους τύπους δεδομένων. Οι τιμές αυτές μπορούν να είναι αντικείμενα άλλων τύπων δεδομένων, όπως ακέραιοι, αλφαριθμητικά ή αντικείμενα από άλλες κλάσεις στην Python. Τα αντικείμενα στη λίστα είναι ταξινομημένα και μπορούν να αλλάξουν, δηλαδή η λίστα είναι μεταβλητή.

Μπορείτε να δημιουργήσετε μια λίστα χρησιμοποιώντας την ακόλουθη σύνταξη:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
my_list = [1, "hello", True]
print(my_list)
my_list = [1, "hello", True] print(my_list)
my_list = [1, "hello", True]
print(my_list)

Το αποτέλεσμα που θα εκτυπωθεί στην οθόνη θα είναι η λίστα που δημιουργήσαμε:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
[1, 'hello', True]
[1, 'hello', True]
[1, 'hello', True]

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

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
print(type(my_list))
print(type(my_list))
print(type(my_list))

Αποτέλεσμα:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
<class 'list'>
<class 'list'>
<class 'list'>

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

Παράδειγμα:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
my_tuple = ("apple", "banana", "cherry")
print(my_tuple)
my_tuple = ("apple", "banana", "cherry") print(my_tuple)
my_tuple = ("apple", "banana", "cherry")
print(my_tuple)

Το αποτέλεσμα θα είναι:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
('apple', 'banana', 'cherry')
('apple', 'banana', 'cherry')
('apple', 'banana', 'cherry')

Παρατηρούμε ότι το tuple περικλείεται σε παρενθέσεις και αποτελείται από τρία στοιχεία, τα οποία είναι συμβολοσειρές. Ο τύπος του tuple είναι tuple, όπως φαίνεται στην οθόνη κατά την εκτέλεση του παραπάνω κώδικα.

Αν δώσουμε το παραπάνω παράδειγμα με το tuple στην type() συνάρτηση, θα λάβουμε το εξής αποτέλεσμα:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
my_tuple = ("apple", "banana", "cherry")
print(type(my_tuple))
my_tuple = ("apple", "banana", "cherry") print(type(my_tuple))
my_tuple = ("apple", "banana", "cherry")
print(type(my_tuple))

Το αποτέλεσμα θα είναι:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
<class 'tuple'>
<class 'tuple'>
<class 'tuple'>

Επιστρέφεται ο τύπος του αντικειμένου, στην περίπτωσή μας, ο τύπος είναι tuple.

Το range είναι ένας τύπος ακολουθίας (sequence type) στην Python, ο οποίος δημιουργείται με την built-in συνάρτηση range(). Ο τύπος range αντιπροσωπεύει μια ακολουθία ακεραίων αριθμών με ένα συγκεκριμένο βήμα.

Το range μπορεί να χρησιμοποιηθεί για να δημιουργήσει μια ακολουθία ακεραίων από έναν αριθμό έως έναν άλλο αριθμό, χρησιμοποιώντας τη συνάρτηση range(). Το αποτέλεσμα είναι μια ακολουθία ακεραίων που μπορεί να χρησιμοποιηθεί για επαναλήψεις ή άλλες επεξεργασίες.

Παράδειγμα:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
my_range = range(0, 10, 2)
print(my_range)
print(type(my_range))
my_range = range(0, 10, 2) print(my_range) print(type(my_range))
my_range = range(0, 10, 2)
print(my_range)
print(type(my_range))

Το αποτέλεσμα στην οθόνη θα είναι:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
range(0, 10, 2)
<class 'range'>
range(0, 10, 2) <class 'range'>
range(0, 10, 2)
<class 'range'>

Στο παράδειγμα αυτό, δημιουργούμε ένα range από το 0 έως το 10 με βήμα 2 και το αποθηκεύουμε στη μεταβλητή my_range. Στη συνέχεια, εκτυπώνουμε τη μεταβλητή my_range και τον τύπο της με τη χρήση της συνάρτησης type(). Το αποτέλεσμα δείχνει ότι η μεταβλητή my_range είναι τύπου range.

Το dictionary (dict) είναι ένας τύπος δεδομένων που αποθηκεύει ζεύγη κλειδιού-τιμής (key-value pairs). Κάθε κλειδί (key) στο λεξικό πρέπει να είναι μοναδικό και αντιστοιχεί σε μια τιμή (value). Οι τιμές μπορούν να είναι οποιουδήποτε τύπου δεδομένων της Python, ενώ τα κλειδιά μπορούν να είναι αλφαριθμητικά (string), αριθμοί ή tuples.

Ένα παράδειγμα ενός dictionary στην Python είναι το εξής:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
my_dict = {"apple": 2, "banana": 4, "orange": 1}
print(type(my_dict))
my_dict = {"apple": 2, "banana": 4, "orange": 1} print(type(my_dict))
my_dict = {"apple": 2, "banana": 4, "orange": 1}
print(type(my_dict))

Το αποτέλεσμα του print(type(my_dict)) θα είναι:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
<class 'dict'>
<class 'dict'>
<class 'dict'>

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

Ένα παράδειγμα σετ στην Python είναι το εξής:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
my_set = {1, 2, 3, 4, 5}
print(my_set)
my_set = {1, 2, 3, 4, 5} print(my_set)
my_set = {1, 2, 3, 4, 5}
print(my_set)

Το αποτέλεσμα στην οθόνη θα είναι:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
{1, 2, 3, 4, 5}
{1, 2, 3, 4, 5}
{1, 2, 3, 4, 5}

Το αποτέλεσμα του type() για το παράδειγμα του τύπου set θα πρέπει να είναι το εξής:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
>>> my_set = {1, 2, 3}
>>> print(type(my_set))
<class 'set'>
>>> my_set = {1, 2, 3} >>> print(type(my_set)) <class 'set'>
>>> my_set = {1, 2, 3}
>>> print(type(my_set))
<class 'set'>

Το frozenset είναι μια ενσωματωμένη δομή δεδομένων στην Python, παρόμοια με το set, αλλά διαφορετικά από το set, είναι αμετάβλητο (immutable), δηλαδή δεν μπορεί να αλλάξει μετά τη δημιουργία του. Το frozenset μπορεί να περιέχει μόνο μη μεταβλητά (immutable) στοιχεία, όπως ακέραιους αριθμούς, δεδομένα κατάστασης και ακόμα και άλλα frozenset.

Μπορούμε να δημιουργήσουμε ένα frozenset χρησιμοποιώντας τη συνάρτηση frozenset() και παρέχοντας μια λίστα ή μια άλλη επαρκή ακολουθία ως όρισμα. Ακολουθεί ένα παράδειγμα και η έξοδος του αποτελέσματος του τύπου στην οθόνη:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
my_frozenset = frozenset([1, 2, 3, 4])
print(my_frozenset)
print(type(my_frozenset))
my_frozenset = frozenset([1, 2, 3, 4]) print(my_frozenset) print(type(my_frozenset))
my_frozenset = frozenset([1, 2, 3, 4])
print(my_frozenset)
print(type(my_frozenset))

Έξοδος:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
frozenset({1, 2, 3, 4})
<class 'frozenset'>
frozenset({1, 2, 3, 4}) <class 'frozenset'>
frozenset({1, 2, 3, 4})
<class 'frozenset'>

Ο τύπος bool στην Python αντιπροσωπεύει τις δύο τιμές True (Αληθής) και False (Ψευδής). Ο τύπος bool χρησιμοποιείται συχνά σε συνθήκες και λογικές πράξεις.

Παράδειγμα:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
x = 5
y = 10
z = x < y
print(z)
x = 5 y = 10 z = x < y print(z)
x = 5
y = 10
z = x < y
print(z)

Το παραπάνω πρόγραμμα δηλώνει μια μεταβλητή z που αντιστοιχεί στην συνθήκη x < y. Η συνθήκη αυτή αξιολογείται ως True, επομένως η μεταβλητή z παίρνει την τιμή True. Το αποτέλεσμα της εντολής print είναι True καθώς αυτή είναι η τιμή της μεταβλητής z.

Το αποτέλεσμα του type() για το παραπάνω πρόγραμμα θα είναι:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
<class 'bool'>
<class 'bool'>
<class 'bool'>

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

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
b = b'Hello World'
print(type(b))
b = b'Hello World' print(type(b))
b = b'Hello World'
print(type(b))

Το αποτέλεσμα στην οθόνη θα είναι:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
<class 'bytes'>
<class 'bytes'>
<class 'bytes'>

Το bytearray είναι ένας τύπος δεδομένων στην Python που παρέχει μια αλλαζόμενη, μεταβλητή ακολουθία από ακέραιους αριθμούς από 0 έως 255. Το παρακάτω είναι ένα παράδειγμα bytearray:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
my_bytes = bytearray(b"Hello World")
print(my_bytes)
print(type(my_bytes))
my_bytes = bytearray(b"Hello World") print(my_bytes) print(type(my_bytes))
my_bytes = bytearray(b"Hello World")
print(my_bytes)
print(type(my_bytes))

Το αποτέλεσμα της εντολής type() στην οθόνη θα είναι:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
bytearray(b'Hello World')
<class 'bytearray'>
bytearray(b'Hello World') <class 'bytearray'>
bytearray(b'Hello World')
<class 'bytearray'>

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

Ένα παράδειγμα χρήσης του memoryview είναι το εξής:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
a = bytearray(b'hello')
v = memoryview(a)
print(v)
a = bytearray(b'hello') v = memoryview(a) print(v)
a = bytearray(b'hello')
v = memoryview(a)
print(v)

Η έξοδος του προγράμματος θα είναι η εξής:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
<memory at 0x7f843b17c0e0>
<memory at 0x7f843b17c0e0>
<memory at 0x7f843b17c0e0>

Αυτό υποδηλώνει ότι η μεταβλητή v είναι ένα αντικείμενο του τύπου memoryview.

Ο τύπος NoneType αναφέρεται στο αντικείμενο None στην Python, το οποίο αντιπροσωπεύει την απουσία τιμής ή το “τίποτα”. Μπορεί να χρησιμοποιηθεί για να δηλώσει ότι ένα αντικείμενο δεν έχει καμία επιστρεφόμενη τιμή ή ότι μια μεταβλητή δεν έχει αρχικοποιηθεί ακόμη. Το αποτέλεσμα της εντολής type() για το αντικείμενο None είναι ο τύπος NoneType.

Παράδειγμα:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
x = None
print(type(x))
x = None print(type(x))
x = None
print(type(x))

Το αποτέλεσμα στην οθόνη θα είναι:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
<class 'NoneType'>
<class 'NoneType'>
<class 'NoneType'>
top
error: Content is protected !!
Μετάβαση σε γραμμή εργαλείων