ΓΕΝΙΚΑ ΣΤΟΙΧΕΙΑ
Τίτλος
Python-Μέρος Α
Εναλλακτικός Τίτλος
Μία εισαγωγή στην Python
Ημερομηνία Εκπόνησης
Απρ-2026
Περίληψη
Στο κεφάλαιο 1 περιγράφεται η έννοια της μεταγλώττισης και της διερμηνείας ενός προγράμματος, οι εκδόσεις και οι υλοποιήσεις της Python, η εγκατάσταση της Python, η απευθείας εκτέλεση εντολών και λήψη αποτελεσμάτων στο REPL, η συγγραφή και εκτέλεση απλών προγραμμάτων στο IDLE, οι αριθμητικοί τελεστές, οι μεταβλητές, οι τύποι δεδομένων, τα σχόλια, η είσοδος και η έξοδος με τις συναρτήσεις input() και print(), οι συγκριτικοί τελεστές, η εντολή επιλογής if και οι παραλλαγές της (elif, else), η νέα εντολή match, οι εντολές επανάληψης while και for, οι εντολές break και continue, οι λογικοί τελεστές και οι τελεστές που εφαρμόζονται σε δυαδικά ψηφία.
Στο κεφάλαιο 2 εισάγεται η έννοια του τμηματικού προγραμματισμού και των συναρτήσεων της Python. Αναλύεται ο τρόπος δήλωσης και κλήσης των συναρτήσεων στην Python, τι είναι παράμετροι (parameters) και τι ορίσματα (arguments) και οι διάφοροι τύποι τους που υποστηρίζονται από την Python. Επίσης περιγράφονται οι τοπικές, καθολικές και μη τοπικές μεταβλητές, οι συναρτήσεις μέσα σε συναρτήσεις και η έννοια της. Επίσης, παρουσιάζεται η έννοια της αναδρομής. Γίνεται αναφορά στις έννοιες του δομημένου προγραμματισμού, του τμηματικού προγραμματισμού, του διαδικασιακού προγραμματισμού και του αντικειμενοστραφούς προγραμματισμού και των σχέσεων μεταξύ τους. Τέλος, γίνεται μια σύντομη παρουσίαση για τα Ολοκληρωμένα Περιβάλλοντα Ανάπτυξης IDEs) και ειδικά του VS Code και κάποιων από τις δυνατότητές του.
Στο κεφάλαιο 3 εξετάζονται οι λίστες, ο πιο ευέλικτος και ευρέως χρησιμοποιούμενος σύνθετος τύπος δεδομένων, με ανάλυση σε βάθος της δημιουργίας, της δεικτοδότησης, της διάσχισης, των τμημάτων (slices), της αντιγραφής και των πολυδιάστατων πινάκων. Παρουσιάζεται επίσης το οικοσύστημα βιβλιοθηκών της Python και ο τρόπος εγκατάστασης εξωτερικών πακέτων μέσω του pip και του αποθετηρίου PyPI, που παρέχουν πρόσβαση σε χιλιάδες έτοιμα εργαλεία για κάθε είδους εφαρμογή. Τέλος, αναλύεται η οργάνωση του κώδικα σε modules και packages, με ιδιαίτερη αναφορά στον ρόλο της μεταβλητής __name__ και στη σημασία της για τη δόμηση επαναχρησιμοποιήσιμου και συντηρήσιμου κώδικα.
Στο κεφάλαιο 4 αναλύονται οι υπόλοιπες σύνθετες δομές δεδομένων της Python: οι πλειάδες (tuples), που εγγυώνται την ακεραιότητα σταθερών δεδομένων, τα σύνολα (sets), που διαχειρίζονται μοναδικά στοιχεία και υποστηρίζουν πράξεις συνόλων, και τα λεξικά (dictionaries), που προσφέρουν γρήγορη αναζήτηση μέσω ζευγών κλειδιού-τιμής. Εξετάζεται επίσης η έννοια της μεταβλητότητας και αμεταβλητότητας (mutability/immutability), καθώς και οι περιφραστικές λίστες και λεξικά (comprehensions) και οι τρόποι μορφοποίησης λεκτικών (f-strings, format(), %). Το κεφάλαιο ολοκληρώνεται με χαρακτηριστικά προβλήματα που αναδεικνύουν την αποτελεσματική αξιοποίηση των δομών αυτών στην πράξη.
Στο κεφάλαιο 5 εισάγεται η εργασία με αρχεία στην Python. Παρουσιάζεται το άνοιγμα αρχείων κειμένου για ανάγνωση, εγγραφή ή επεξεργασία, το σώσιμο των αλλαγών και το κλείσιμο των αρχείων. Στη συνέχεια περιγράφεται η χρήση, επεξεργασία και κάποιες μετατροπές μεταξύ διαφόρων τύπων αρχείων κειμένου: CSV, JSON, XML, excel. Κατόπιν περιγράφονται οι pickle και shelve για αποθήκευση και ανάγνωση αντικειμένων στην Python. Τέλος, γίνεται μια εισαγωγή στο πώς αλληλοεπιδρά η Python με το λειτουργικό σύστημα και το σύστημα αρχείων μέσω στην modules os και shutil για τη δημιουργία, μετονομασία, διαγραφή και αντιγραφή φακέλων και αρχείων και τη διάσχιση υποδέντρου του συστήματος αρχείων για εργασία με τα περιεχόμενά του.
Στο κεφάλαιο 6 περιγράφεται η ανάγκη για χειρισμό λαθών που ανακύπτει στα προγράμματα, ο αμυντικός προγραμματισμός, οι εξαιρέσεις, οι τύποι εξαιρέσεων, η σύλληψη και η πρόκληση εξαιρέσεων. Επιπλέον, δίνονται παραδείγματα χρήσης της βιβλιοθήκης random, του χειρισμού δεδομένων ημερομηνιών και χρόνου με τις βιβλιοθήκες datetime, dateutil, time και calendar καθώς και εκτέλεσης κώδικα με ταυτόχρονη τεκμηρίωση του σε Jupyter Notebooks.
Στο κεφάλαιο 7 γίνεται μια εισαγωγή στον αντικειμενοστραφή προγραμματισμό με την Python. Ειδικότερα, περιγράφονται οι έννοιες των κλάσεων, των ιδιοτήτων και των μεθόδων των αντικειμένων, του self, των μεθόδων __init__, __str__, __add__, __call__, __getitem__, της σύγκρισης αντικειμένων, της αντιγραφής αντικειμένων (ρηχή και βαθιά αντιγραφή) της χρήσης αντικειμένων ως κλειδιά λεξικών, της κληρονομικότητας, της πολλαπλής κληρονομικότητας, της σύνθεσης, της ενθυλάκωσης, των getters, setters και της αντικατάστασής τους από ιδιότητες (properties), των στατικών μεθόδων, των μεθόδων κλάσεων και των μεταβλητών κλάσεων ή αλλιώς στατικών μεταβλητών.
Περιγραφή
Η Python είναι μια ισχυρή γλώσσα προγραμματισμού που είναι εύκολη στην εκμάθηση. Για διάφορους λόγους όπως η ευκολία προγραμματισμού, η αναγνωσιμότητα του κώδικα, η ανάπτυξη ισχυρών βιβλιοθηκών ανάλυσης δεδομένων, η αύξηση των επιδόσεων των Η/Υ και άλλους, έχει αναδειχθεί ως η πλέον δημοφιλής γλώσσα προγραμματισμού τα τελευταία χρόνια. Στο πρόγραμμα επιμόρφωσης Python-Α γίνεται μια εισαγωγή στα βασικά στοιχεία της γλώσσας όπως οι μεταβλητές, οι τύποι δεδομένων, οι τελεστές, οι εντολές εισόδου/εξόδου, η συγγραφή και εκτέλεση απλών προγραμμάτων, οι εντολές επιλογής, οι εντολές επανάληψης, ο τμηματικός προγραμματισμός, οι βασικές δομές δεδομένων της γλώσσας (λίστες, πλειάδες, σύνολα, λεξικά), ο διαμερισμός προγραμμάτων σε τμήματα, οι βιβλιοθήκες, η διαχείριση αρχείων διαφόρων τύπων, ο χειρισμός λαθών, οι εξαιρέσεις και ο αντικειμενοστραφής προγραμματισμός. Επιπλέον, γίνεται αναφορά στην εγκατάσταση της Python, στη δημιουργία εικονικών περιβαλλόντων, στα σημειωματάρια Jupyter Notebook, σε ενσωματωμένες βιβλιοθήκες της γλώσσας όπως οι math, random, os, pickle, datetime, time, calendar και σε εξωτερικές βιβλιοθήκες της γλώσσας όπως η dateutil και άλλες.
Το πρόγραμμα επιμόρφωσης Python-A έχει σχεδιαστεί έτσι ώστε να είναι ασύγχρονο, που σημαίνει ότι οι εκπαιδευόμενοι καλούνται να μελετούν πρώτα το υλικό κάθε ενότητας, στη διάρκεια μιας ημερολογιακής εβδομάδας, και κατά τη διάρκεια μελέτης να διατυπώνουν απορίες, ερωτήσεις και σχόλια χρησιμοποιώντας τα ηλεκτρονικά κανάλια επικοινωνίας που διατίθενται μέσω της πλατφόρμας Learning Management System (LMS) του ΕΚΔΔΑ . Σε κάθε ενότητα υπάρχει εκπαιδευτικό υλικό, παραδείγματα κώδικα, λυμένες ασκήσεις, ασκήσεις προς επίλυση και ερωτήσεις ανακεφαλαίωσης.