Παίζοντας μια μέρα με το IDLE

(Greek translation by Leon IV Isauvros)

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

Ένας "οπτικός" οδηγός θα μπορούσε να μειώσει την ανυσηχία που θα έχουμε στην αρχή, και αυτός είναι ο βασικός στόχος της σελίδας αυτής. Το σχέδιο είναι να κάνουμε μερικές λειτουργίες με το IDLE (Integrated DeveLopment Environment). To IDLE είναι έτσι σχεδιασμένο για να παρέχει έναν εύκολο τρόπο να εξερευνήσουμε την γλώσσα. Σ' αυτήν την λειτουργία θα κάνουμε -επίτηδες- και μερικά λάθη(!) μόνο και μόνο για να δείξουμε πως αντιδρά το περιβάλλον στην περίπτωση που δεν κυλάνε όλα ομαλά.

Πρέπει να αναφέρουμε πως υπάρχει ήδη ένα έγγραφο online. Αν έχετε προτάσεις ή θέλετε να αναφέρετε λάθη ή βελτιώσεις που έχετε επισημάνει γράψτε μου (στα αγγλικά) στην διεύθυνση dyoo@hkn.eecs.berkeley.edu. Ασ μην ξεχνάμε ότι υπάρχει και Python Tutor mailing list που είναι μεγάλη πηγή βοήθειας και εκμάθησης: μια ομάδα ανθρώπων που επιδιώκουν να δείχνουν ο ένας στον άλλον ενδιαφέροντα πράγματα στην Python. Μαθαίνουμε όλοι μαζί οπότε δεν υπάρχει λόγος να αισθάνεστε άβολα. Ελάτε και σεις.

Αλλαγές



Ωραία, ας υποθέσουμε ότι έχετε ήδη εγκαταστήσει την Python. (Αν όχι, μπορείτε να επισκευθείτε την διεύθυνση: http://python.org/ και να μεταφορτώσετε (download) την πιο πρόσφατη έκδοση της. Την στιγμή που γραφόταν αυτή η σελίδα η έκδοση της Python ήταν η 2.1.) Το πρώτο πράγμα που θέλουμε να κάνουμε είναι αρχικά να την τρέξουμε! Και αυτό θα το κάνουμε ανοίγοντας το IDLE, που πρέπει να είναι στο μενού της έναρξης στο φρεσκο-εγκατεστημένο φάκελλο της Python.



Ένα νέο παράθυρο ξεδιπλώνει το μεγαλείο του:

Αυτό είναι το κυρίως παράθυρο του IDLE, και αυτό που βλέπουμε μπροστά μας είναι το παράθυρο της γραμμής εντολής. Η γραμμή εντολής μας επιτρέπει να εισάγουμε κατευθείαν εντολές στην Python. Μόλις η εισαγωγή μιας εντολής ολοκληρωθεί η Python θα την εκτελέσει και θα μας επιστρέψει τα αποτελέσματα. Θα χρησιμοποιήσουμε το παράθυρο της γραμμής εντολής αρκετά καθώς θα πειραματιζόμαστε με την Python: Είναι βολική γιατί μας εμφανίζει αμέσως τα αποτελέσματα του προγραμματός μας. Φανταστείτε το σαν ένα πολύ ισχυρό calculator.



Ας δοκιμάσουμε κάτι τωρα. Όπως προστάζει η προγραμματιστική παράδοση θα βάλουμε την Python να πει τα ιερά λόγια "Hello World".

Τα '>>>' σημαίνουν: Η Python είναι έτοιμη να διαβάσει μια νέα εντολή δίνοντάς μας αυτήν την οπτική αναγνώριση. Προσέξτε ακόμη ότι καθώς δίνουμε τις εντολές η Python μας απαντά κατευθείαν με τα αποτελέσματα.



ΟΚ, αλλά φαίνεται έτσι κι αλλιώς εύκολο. Ας δοκιμάσουμε μερικές εντολές ακόμα. Δείτε παρακάτω:

Βλέπουμε το αποτέλεσμα όταν τρέξουμε κάμποσες εντολές ακόμα. Μην σας απασχολεί το ότι δεν έχουμε μάθει τους ακριβείς κανόνες σύνταξης εντολών ακόμα: η όλη ιδέα είναι ότι μπορούμε να πειραματιστούμε με την Python γράφοντας εντολές. Αν δεν δουλέψουν μπορούμε να διορθώσουμε το λάθος και να τις ξανατρέξουμε.

Αφού φτάσατε σ' αυτό το σημείο, ξέρετε πλέον αρκετά για να αρχίσετα να παίζεται με την Python! Ανοίξτε ένα από τα άρθρα που βρίσκονται στην διεύθυνση Python For Beginners και αρχίστε την εξερεύνηση με την γραμμή εντολών. Δεν είναι ανάγκη να θέσετε όριο χρόνου...



Τώρα που έχετε αρχίσει να εξοικειώνεστε μπορεί να ρωτήσετε: Αν κλείσω την Python και την ξεκινήσω αργότερα, πως θα θυμάτια ο υπολογιστής τις εντολές που του έδωσα;

Η λύση είναι λίγο περίεργη: Δεν μπορούμε να σώσουμε ό,τι υπάρχει μέσα στο παράθυρο της γραμμής εντολών γιατί κάτι τέτοιο θα περιελάμβανε και τις δικές μας εντολές και τις αποκρίσεις του συστήματος. Αυτό όμως που πραγματικά θέλουμε είναι να δημιουργήσουμε ένα προετοιμασμένο αρχείο που θα έχει μόνο τις δικές μας εντολές, και που θα μπορούμε να το σώσουμε. Όταν θέλουμε ξανά να μπορούμε να το ανοίξουμε και να "τρέξουμε" την Python πάνω του, γλιτώνοντας έτσι χρόνο πληκτρολογόντας το πρόγραμμα ξανά και ξανά.

Ας δοκιμάσουμε αυτό: Ξεκινάμε από ένα "καθαρό" αρχείο ανοίγοντας ένα νέοο παράθυρο.

Και να το αποτέλεσμα της εντολής που δώσαμε από το μενού:

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



Αυτό που λέγαμε προηγουμένως είναι ότι θέλαμε να σώσουμε κάποιες εντολές που δοκιμάζαμε πρίν στο παράθυρο της γραμμής εντολών. Ας τις γράψουμε λοιπόν στο παράθυρο του προγράμματος.

Πάει και η πληκτρολόγηση (ή το copy / paste). Κάτι στο οποίο πρέπει να δώσουμε μεγάλη προσοχή είναι ότι πρέπει να "ξεφορτωθούμε" τα ">>>" αφού δεν είναι μέρος του προγράμματός μας. Η γραμμή εντολών τα χρησιμοποιεί για να μας δείξει ότι είμαστε στο περιβάλλον της, μα τώρα γράφουμε ένα ξεχωριστό αρχείο οπότε πρέπει να τα αφαιρέσουμε.



Τώρα μπορούμε να σώσουμε το αρχείο. Η εντολή αποθήκευση (Save) είναι στο μενού (File):



Και τώρα που σώσαμε το πρόγραμμα πως θα το τρέξουμε; Αν κοιτάξετε στα μενού του παραθύρου του προγράμματος,

θα δείτε ότι υπάρχει μια επιλογή "Run script" (εκτέλεσε το πρόγραμμα), και αυτό είναι που πρόκειται να κάνουμε. Αυτό που θέλουμε να δούμε είναι την Python να τρέχει το πρόγραμμα και να εμφανίζει τα αποτελέσματά του στο παράθυρο της γραμμής εντολών.

Αξίζει εδώ να σημειώσουμε πως έκανα ένα λάθος στην πληκτρολόγηση: δεν αντέγραψα ακριβ΄ψς ό,τι είχα γράψει στην γραμμή εντολών προηγουμένως. Επηρέασε κάτι αυτό μου το λάθος;

Ωωωπ!. Να και ένα παράδειγμα αυτού που η Python καλεί "syntax error" (σφάλμα σύνταξης). Η Python βλέπει ότι κάναμε ένα λάθος και μας ειδοποιεί να προσέχουμε ...καλύτερα το πρόγραμμά μας. Οι σχεδιαστές της Python πιστεύουν ότι είναι καλύτερο να μας δείχνει το σύστημα που είναι το λάθος παρά να προσπαθεί να μαντέψει τι σκε΄φτεται ο προγραμματιστής. Υπάρχουν συγκεκριμένοι κανόνες για το τι θεωρεί η Python ύποπτο και τι σωστό. Καθώς θα "μιλάμε" την γλώσσα θα αποκτήσετε την αίσθηση των κανόνων αυτών (μοιάζει λιγάκι με γραμματική).

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



Πάει λοιπόν το ανόητο λαθάκι. Τώρα μπορούμε να τρέξουμε το πρόγραμμα ξανά.

Κι άλλη γκρίνια αλλά αυτή την φορά όχι τόσο μπερδεμένη αλλά απλώς φορτική και ανόητη. Το IDLE θέλει να αποθηκεύει τα περιεχόμενα των παραθύρων προγραμμάτων προτού τα τρέξουμε. Αυτό είναι θέμα του user interface που ζητάει να αποθηκεύουμε την δουλειά μας πριν να τρέξουμε το πρόγραμμα.

(Σημείωση: το παραπάνω σχόλιο μπορεί να είναι πλέον λανθασμένο. Πολλοί παραπονέθηκαν για την τεμπέλικη συμπεριφορά του IDLE και απαίτησαν αλλαγή. Ελπίζουμε ότι η βελτιωμένη έκδοση του IDLE δεν θα εμφανίζει αυτό το μήνυμα.)

Τρίτη και φαρμακερή λοιπόν. Αν όλα πάνε καλά, το πρόγραμμα θα τρέξει αυτήν την φορά.



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

Κάτι τέτοιο βέβαια έχει ως προϋπόθεση ότι μπορούμε να φορτώσουμε το αρχείο αργότερα. Θα ήταν τελείως άχρηστο αν σώζαμε ένα πρόγραμμα που ύστερα δεν θα μπορούσαμε να το φορτώσουμε. Σας δείχνω πως γίνεται και τέλος για σήμερα. Θα κλείσω το IDLE, και θα ξαναρχίσω από την αρχή.

Θα βρούμε την εντολή Άνοιγμα (Open) στο μενού File:

και αν όλα πάνε καλά θα δούμε ένα νέο παράθυρο προγράμματος να ανοίγει:

με το παλιό μας πρόγραμμα. Αυτό ήταν! Μπορούμε να σώσουμε την δουλειά μας και να την ξαναφορτώσουμε αργότερα. Δεν είναι δα και τρομερή κατάκτηση αλλά έιναι καίριο για κάποιον που θέλει να παίξει με την Python παραπάνω από μια μέρα.

Πάνω - κάτω αυτά είναι όλα όσα πρέπει να ξέρουμε για να κάνουμε με το IDLE μερικά πραγματικά ενδιφέροντα πράγματα. Από τον οδηγό αυτόν παραλείπονται πολλές λειτουργίες του IDLE: Το IDLE είναι πολλάπερισσότερα από ένας επεξεργαστής κειμένου αλλά θέλει και κάμποσο χρόνο για να ανακαλύψει κανείς όλες του τις δυνατότητες, γιαυτό και θα σταματήσουμε εδώ. Υπάρχει η σελίδα IDLE Documentation που εξηγεί την πιο προχωρημένη χρήση του IDLE για αυτούς που είναι παθολογικά περίεργοι. Φυσικά αν έχετε απορίες μπορείτε πάντα να κάνετε μια στάση στην λίστα Python Tutor που υπάρχει σίγουρα κάποιος ο οποίος θα χαρεί να κουβεντιάσει για την Python μαζί σας. Για 'μένα ήταν διασκεδαστικό και ελπίζω και για 'σας χρήσιμο!