ΚΕΦΑΛΑΙΟ 1 Εισαγωγή στην Python Σύνοψη Σε αυτό το κεφάλαιο κάνουμε μια σύντομη εισαγωγή στην Python και στα εργαλεία λογισμικού που θα χρησιμοποιήσουμε στη συνέχεια του συγγράμματος. Προαπαιτούμενη γνώση Ενδείκνυται (ωστόσο δεν απαιτείται) προηγούμενη εμπειρία σε οποιαδήποτε άλλη γλώσσα υψηλού επιπέδου και εξοικείωση με περιβάλλοντα προγραμματισμού. 1.1 Εισαγωγή Η Python (Python Software Foundation, 2011) είναι γλώσσα προγραμματισμού υψηλού επιπέδου, ανοικτού πηγαίου κώδικα (open source) και γενικής χρήσης. Είναι εύκολη στην εκμάθηση (απλούστερη από τις C, C++, Java) και παρέχει ισχυρές δυνατότητες σε αρχάριους και έμπειρους προγραμματιστές. Ένα από τα κύρια χαρακτηριστικά της είναι η αντικειμενοστρέφεια, στην οποία αναφερόμαστε εκτενώς σε αυτό το σύγγραμμα και ιδιαίτερα στο Κεφάλαιο 8. Αναπτύχθηκε από τον Guido van Rossum, στις αρχές της δεκαετίας 90 ως διάδοχος της γλώσσας ABC και το όνομά της προέρχεται από την ομάδα κωμικών Monty Python. Η βασική ιστοσελίδα της κοινότητας γύρω από τη γλώσσα βρίσκεται στην ηλεκτρονική διεύθυνση http://python.org (Python Software Foundation). 1 I Κ. ΜΑΓΚΟΥΤΗΣ, Χ. ΝΙΚΟΛΑΟΥ, Εισαγωγή στον Αντικειμενοστραφή Προγραμματισμό με Python
Εικόνα 1.1 Λογότυπο της Python Η Python χρησιμοποιείται, διεθνώς, ως εκπαιδευτική γλώσσα αλλά και στην ανάπτυξη σημαντικών εφαρμογών με την ίδια επιτυχία. Εκδόσεις της είναι διαθέσιμες για μια ευρεία γκάμα απο λειτουργικά συστήματα, συμπεριλαμβανομένων των Windows, Unix/Linux, Mac OS X, ipod, κλπ. Είναι επεκτάσιμη μέσω ενσωματωμένων βιβλιοθηκών, δηλαδή, μπορεί να υλοποιηθεί σημαντική λειτουργικότητα χωρίς να χρειαστεί να αναζητηθούν επεκτάσεις, όπως μεταφορικά λέγεται στα αγγλικά, batteries are included. Ας εστιάσουμε καταρχήν στη συνοπτικότητά της. Στις Εικόνες 1.2-1.5 βλέπετε τέσσερα παραδείγματα του προγράμματος που παραδοσιακά γράφουμε ως πρώτο, όταν μαθαίνουμε οποιαδήποτε γλώσσα προγραμματισμού, απο τις δημοφιλείς γλώσσες προγραμματισμού C, C++, Java, και Python. Είναι εμφανές ότι η Python προσφέρει τη συνοπτικότερη, απλούστερη στην κατανόηση έκφραση. Εικόνα 1.2 Πρώτο πρόγραμμα στη γλώσσα προγραμματισμού C 2 I Κ. ΜΑΓΚΟΥΤΗΣ, Χ. ΝΙΚΟΛΑΟΥ, Εισαγωγή στον Αντικειμενοστραφή Προγραμματισμό με Python
Εικόνα 1.3 Πρώτο πρόγραμμα στη γλώσσα προγραμματισμού C++ Εικόνα 1.4 Πρώτο πρόγραμμα στη γλώσσα προγραμματισμού Java Εικόνα 1.5 Πρώτο πρόγραμμα στη γλώσσα προγραμματισμού Python 3 I Κ. ΜΑΓΚΟΥΤΗΣ, Χ. ΝΙΚΟΛΑΟΥ, Εισαγωγή στον Αντικειμενοστραφή Προγραμματισμό με Python
1.2 Προκαταρτικές πληροφορίες Σ αυτό το σύγγραμμα θα χρησιμοποιήσουμε τον συντάκτη κειμένου (editor) Notepad++ (https://notepad-plus-plus.org) o οποίος μπορεί να αναγνωρίσει τη σύνταξη και δομή των προγραμμάτων Python, με τη ρύθμιση Language, Python στο κύριο μενού του. Στην Εικόνα 1.6 βλέπουμε ένα παράδειγμα της χρήσης του Notepad++, για να γράψουμε το πρώτο μας πρόγραμμα σε Python. Εικόνα 1.6 Πρώτο πρόγραμμα στη γλώσσα προγραμματισμού Python με χρήση του Notepad++ Ο πηγαίος κώδικας ο οποίος χρησιμοποιείται στα παραδείγματα αυτού του συγγράμματος είναι διαθέσιμος στο αποθετήριο που βρίσκεται στην ηλεκτρονική διεύθυνση https://github.com/giannispappas/k_book.git. Για κατεβάσετε τον πηγαίο κώδικα των παραδειγμάτων του συγγράμματος προτείνονται δύο τρόποι. Ο πρώτος είναι να πάτε στη σελίδα https://github.com/ giannispappas/k_book και να επιλέξετε το εικονίδιο που βρίσκεται δεξιά στο κάτω μέρος της σελίδας και γράφει: Download ZIP, όπως φαίνεται και στην Εικόνα 1.7. Με τον τρόπο αυτό θα έχετε όλο τον κώδικα του συγγράμματος ως ένα συμπιεσμένο αρχείο. 4 I Κ. ΜΑΓΚΟΥΤΗΣ, Χ. ΝΙΚΟΛΑΟΥ, Εισαγωγή στον Αντικειμενοστραφή Προγραμματισμό με Python
Εικόνα 1.7 Κατέβασμα κώδικα βιβλίου ως συμπιεσμένο αρχείο Ο δεύτερος τρόπος είναι να προσπελάσετε το αποθετήριο της υπηρεσίας GitHub (http://github.com) με κάποιο πρόγραμμα διαχείρισης κώδικα ανοικτού λογισμικού που χρησιμοποιεί το πρωτόκολλο git. Αρχικά πρέπει να εγκαταστήσετε ένα πρόγραμμα git στον υπολογιστή σας ακολουθώντας τις οδηγίες αυτού του συνδέσμου. Μετά την επιτυχή εγκατάσταση του προγράμματος πρέπει να ανοίξετε μια γραμμή εντολών (command prompt), να πληκτρολογήσετε git clone, και στη συνέχεια το σύνδεσμο όπου βρίσκεται ο κώδικας του βιβλίου, πατώντας Enter. Η εντολή και το αποτέλεσμα φαίνονται στην Εικόνα 1.8. Εικόνα 1.8 Κατέβασμα του κώδικα που συνοδεύει αυτό το σύγγραμμα ως συμπιεσμένο αρχείο Με τον τρόπο αυτό έχετε ένα τοπικό αντίγραφο του κώδικα του συγγράμματος στον υπολογιστή σας. Περισσότερες πληροφορίες σχετικά με την εγκατάσταση 5 I Κ. ΜΑΓΚΟΥΤΗΣ, Χ. ΝΙΚΟΛΑΟΥ, Εισαγωγή στον Αντικειμενοστραφή Προγραμματισμό με Python
του προγράμματος git, και τη δημιουργία και χρήση αποθετηρίων στη διαδικτυακή υπηρεσία GitHub θα βρείτε στον εξής σύνδεσμο. 1.3 Ο διερμηνέας της Python Η έκδοση Python που επιλέξαμε να χρησιμοποιήσουμε σε αυτό το σύγγραμμα είναι η 2.7.8 την οποία μπορείτε να βρείτε στον εξής σύνδεσμο: https://www. python.org/download/releases/2.7.8/. Στην Εικόνα 1.9 βλέπετε ένα στιγμιότυπο αυτής της ιστοσελίδας. Εικόνα 1.9 Ιστοσελίδα της έκδοσης 2.7.8 της Python Το περιβάλλον ανάπτυξης και εκτέλεσης προγραμμάτων περιλαμβάνει το διερμηνέα (interpreter) της Python ο οποίος διαβάζει και εκτελεί προγράμματα Python. Ενώ ο διερμηνέας μπορεί να καλεστεί απευθείας σε μια γραμμή εντολής (command line), συνήθως χρησιμοποιούμε ολοκληρωμένα περιβάλλοντα ανάπτυξης (integrated 6 I Κ. ΜΑΓΚΟΥΤΗΣ, Χ. ΝΙΚΟΛΑΟΥ, Εισαγωγή στον Αντικειμενοστραφή Προγραμματισμό με Python
development environments ή IDEs) τα οποία μας προσφέρουν γραφικό περιβάλλον και υποστήριξη στον προγραμματισμό, εκτέλεση, και εκσφαλμάτωση (debugging) προγραμμάτων. Σε αυτό το σύγγραμμα θα χρησιμοποιήσουμε ένα απλό αλλά αρκετά διαδεδομένο τέτοιο περιβάλλον το οποίο συμπεριλαμβάνεται στη βασική διανομή της Python και ονομάζεται IDLE (Integrated DeveLopment Environment). Στην Εικόνα 1.10 βλέπουμε το παράθυρο του IDLE της έκδοσης 2.7.8. Στα Windows μπορούμε να βρούμε το IDLE ακολουθώντας Έναρξη g Προγράμματα g Python 2.7 g IDLE (Python GUI). Εικόνα 1.10 IDLE για τη γλώσσα Python σε περιβάλλον Windows Στην Εικόνα 1.11 ακολουθεί το δεύτερο πρόγραμμά μας στην Python. Το αρχείο που δημιουργούμε και στο οποίο γράφουμε τον κώδικα Python, το αποθηκεύουμε με κατάληξη.py. Εικόνα 1.11 Το δεύτερό μας πρόγραμμα στην Python 7 I Κ. ΜΑΓΚΟΥΤΗΣ, Χ. ΝΙΚΟΛΑΟΥ, Εισαγωγή στον Αντικειμενοστραφή Προγραμματισμό με Python
Για την εκτέλεση (ή όπως λέμε συνήθως, το «τρέξιμο») του προγράμματος που μόλις γράψαμε, ακολουθούμε τα εξής βήματα στο μενού του IDLE: Ανοίγουμε το αρχείο και το «φορτώνουμε» στο περιβάλλον επιλέγοντας File g Open Στη συνέχεια επιλέγουμε στο μενού Run g Run Module Tο αποτέλεσμα φαίνεται στην Εικόνα 1.14: Εικόνα 1.12 Άνοιγμα αρχείου προγράμματος Εικόνα 1.13 Εκτέλεση προγράμματος 8 I Κ. ΜΑΓΚΟΥΤΗΣ, Χ. ΝΙΚΟΛΑΟΥ, Εισαγωγή στον Αντικειμενοστραφή Προγραμματισμό με Python
Εικόνα 1.14 Αποτέλεσμα εκτέλεσης προγράμματος 1.4 Επίλογος Αυτό το κεφάλαιο αποτελεί εισαγωγή στα βασικά χαρακτηριστικά της γλώσσας Python και στα εργαλεία λογισμικού τα οποία θα χρησιμοποιήσουμε στη συνέχεια του παρόντος συγγράμματος. Στο Κεφάλαιο 2 θα δούμε βασικές έννοιες, απαραίτητες στα πρώτα βήματά μας στον προγραμματισμό σε Python: τιμές, τύπους, μεταβλητές, και πρώτες εντολές. Βιβλιογραφία/Αναφορές Python Software Foundation. (2011). Python. Retrieved from: http://python.org 9 I Κ. ΜΑΓΚΟΥΤΗΣ, Χ. ΝΙΚΟΛΑΟΥ, Εισαγωγή στον Αντικειμενοστραφή Προγραμματισμό με Python
Κριτήρια αξιολόγησης Κριτήριο αξιολόγησης 1 (Βαθμός δυσκολίας 1 : ) Για να εξασφαλίσουμε ότι εργάζεστε σωστά με τον Python interpreter, δοκιμάστε τα εξής βήματα στον υπολογιστή σας: Ξεκινήστε τον Python interpreter σε διαδραστική μορφή (IDLE) Στην προτροπή χρήστη >>> γράψτε την ακόλουθη δήλωση και μετά πατήστε Enter: print( Αυτό είναι ένα τεστ για τον Python interpreter. ) 1 Ο βαθμός δυσκολίας των ασκήσεων κυμαίνεται μεταξύ των: χαμηλός ( ), μέτριος ( ), και υψηλός ( ). 10 I Κ. ΜΑΓΚΟΥΤΗΣ, Χ. ΝΙΚΟΛΑΟΥ, Εισαγωγή στον Αντικειμενοστραφή Προγραμματισμό με Python
Κριτήριο αξιολόγησης 2 (Βαθμός δυσκολίας: ) Γράψτε το εξής κείμενο σε ένα αρχείο με όνομα ex1.py και εκτελέστε το. print Hello World! print Hello print World! print Hello Hello! 11 I Κ. ΜΑΓΚΟΥΤΗΣ, Χ. ΝΙΚΟΛΑΟΥ, Εισαγωγή στον Αντικειμενοστραφή Προγραμματισμό με Python