About

Swaroop C H is 29 years of age. He is a coder and startupper. He has previously worked at Yahoo!, Adobe, his own startup and Infibeam.

Read more about him

Views
Personal tools
COLLECTION
Collection

Python el:Και τώρα τι γίνεται

From Notes

Jump to: navigation, search

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

Εισηγούμαι να ασχοληθείτε με αυτό το πρόβλημα:

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

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

Υπόδειξη (Μην τη διαβάσετε)
Δημιουργήστε μια κλάση που θα αναπαριστά τις πληροφορίες ενός ατόμου. Χρησιμοποιήστε ένα λεξικό για να αποθηκεύετε αντικείμενα ανθρώπων με το όνομά τους ως κλειδί. Χρησιμοποιήστε το άρθρωμα pickle για να αποθηκεύετε τα αντικείμενα μόνιμα στο δίσκο. Χρησιμοποιήστε τις ενσωματωμένες μεθόδους των λεξικών για να προσθέσετε, να διαγράψετε και να επεξεργαστείτε τους ανθρώπους.

Όταν θα μπορείτε να το κάνετε αυτό, θα μπορείτε να αυτοαποκαλείστε προγραμματιστές της Python. Τώρα στείλτε μου αμέσως ένα email ευχαριστώντας με για αυτό το σπουδαίο βιβλίο ;-) . Αυτό το βήμα είναι προαιρετικό αλλά προτεινόμενο. Επίσης, παρακαλώ σκεφτείτε να θέλετε να κάνετε μια εισφορά, να συνεισφέρετε βελτιώσεις στο βιβλίο ή αυτή τη μετάφραση για να στηρίξετε τη διαρκή ανάπτυξη αυτού του βιβλίου.

Αν βρήκατε αυτό το πρόγραμμα εύκολο, ορίστε ένα ακόμα:

Υλοποιήστε την εντολή replace. Αυτή η εντολή θα αντικαθιστά μια συμβολοσειρά με μια άλλη στο λίστα των αρχείων που παρέχεται.

Η εντολή αντικατάστασης μπορεί να είναι όσο απλή ή όσο εξεζητημένη θέλετε, από απλή αντικατάσταση συμβολοσειράς εώς αναζήτηση για μοτίβα (κανονικές εκφράσεις).

Μετά απ' αυτό, να μερικοί ακόμα τρόποι για να συνεχίσετε το ταξίδι σας στην Python:

Contents

Παραδείγματα κώδικα

Ο καλύτερος τρόπος για να μάθετε μια γλώσσα προγραμματισμού είναι να γράφετε πολύ κώδικα και να διαβάζετε πολύ κώδικα:

Ερωτήσεις και απαντήσεις

Συμβουλές και κόλπα

Βιβλία, εργασίες, βοηθήματα και βίντεο

Λογικά το επόμενο βήμα μετά από αυτό το βιβλίο είναι να διαβάσετε το καταπληκτικό βιβλίο Dive Into Python του Mark Pilgrim το οποίο μπορείτε επίσης να βρείτε δωρεάν στο διαδίκτυο. Το βιβλίο Dive Into Python εξερευνεί θέματα όπως οι κανονικές εκφράσεις, η επεξεργασία XML, οι υπηρεσίες δικτύου, το unit testing, κ.λπ. σε λεπτομέρεια.

Άλλες χρήσιμες πηγές είναι:

Συζήτηση

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

Σιγουρευτείτε όμως πρώτα ότι το ψάξατε αρκετά από μόνοι σας και προσπαθήσατε να λύσετε το πρόβλημα.

Ειδήσεις

Αν θέλετε να μαθαίνετε τα νεότερα από τον κόσμο της Python, τότε παρακαλουθήστε τον Επίσημο πλάνητη Python και/ή τον [http://www.planetpython.org Ανεπίσημο πλανήτη Python.

Εγκατάσταση βιβλιοθηών

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

Μπορείτε να εγκαταστήσετε και να χρησιμοποιήσετε αυτές τις βιβλιοθήκες με το εξαιρετικό εργαλείο EasyInstall του Philip J. Eby.

Γραφικό λογισμικό

Ας υποθέσουμε ότι θέλετε να δημιουργήσετε τα δικά σας γραφικά προγράμματα με την Python. Μπορείτε να το κάνετε χρησιμοποιώντας μια βιβλιοθήκη για GUI (Graphical User Interface, Γραφική διεπαφή χρήστη) και τους δεσμούς της για Python. Οι δεσμοί (bindings) είναι αυτό που σας επιτρέπει να γράφετε προγράμματα σε Python και να χρησιμοποιείτε βιβλιοθήκες που είναι γραμμένες σε C ή C++ ή άλλες γλώσσες.

Υπάρχουν πολλές επιλογές για χρήση GUI σε Python:

PyQt
Αυτός είναι ο δεσμός της Python με το Qt το οποίο είναι το θεμέλιο πάνω στο οποίο είναι κτισμένο το KDE. Το Qt είναι πανεύκολο στη χρήση και πανίσχυρο ειδικά λόγω του Qt Designer και της καταπληκτικής τεκμηρίωσής του. Το PyQt είναι ελεύθερο και αν θέλετε να δημιουργήσετε ανοικτού κώδικα λογισμικό (υπό την GPL) και χρειάζεται να το αγοράσετε αν σκοπεύετε να δημιουργήσετε ιδιόκτητο κλειστό λογισμικό. Ξεκινώντας από το Qt 4.5 και εξής, μπορείτε να το χρησιμοποιήσετε για να φτιάξετε λογισμικό και εκτός GPL. Για να ξεκινήσετε, διαβάστε το Βοήθημα του PyQt ή το [http://www.qtrac.eu/pyqtbook.html Βιβλίο του PyQt.
PyGTK
Αυτός είναι ο δεσμός της Python με το GTK+ το οποίο είναι το θεμέλιο πάνω στο οποίο είναι κτισμένο το GNOME. Το GTK+ έχει κάποιες ιδιοτροπίες στη χρήση του, αλλά μόλις τις ξεπεράσετε μπορείτε να δημιουργήσετε εφαρμογές με GUI γρήγορα. Ο σχεδιαστής γραφικής διεπαφής Glade είναι ανεκτίμητος. Η τεκμηρίωση χρειάζεται ακόμα βελτίωση. Το GTK+ δουλεύει καλά σε Linux αλλά η μεταφορά του σε Windows δεν είναι πλήρης. Μπορείτε να δημιουργήσετε τόσο ελεύθερο όσο και ιδιωτικό λογισμικό με το GTK+. Για να ξεκινήσετε διαβάστε το Βοήθημα του PyGTK.
wxPython
Αυτός είναι ο δεσμός της Python με το wxWidgets. Το wxPython έχει σημαντική καμπύλη εκμάθησης. Ωστόσο, είναι πολύ φορητό, και τρέχει σε Linux, σε Windows, σε Mac και ακόμα και σε ενσωματωμένες πλατφόρμες. Υπάρχουν πολλά IDE διαθέσιμα για το wxPython τα οποία περιλαμβάνουν σχεδιαστές GUI καθώς επίσης και το SPE (Stani's Python Editor) και ο κατασκευαστής GUI wxGlade. Μπροείτε να δημιουργήσετε τόσο ελεύθερο όσο και ιδιωτικό λογισμικό χρησιμοποιώντας το wxPython. Για να ξεκινήσετε, διαβάστε το Βοήθημα του wxPython.
TkInter
Αυτό είναι ένα από τα παλιότερα σετ εργαλείων για GUI που υπάρχουν. Αν έχετε χρησιμοποιήσει το IDLE, τότε έχετε δει ένα πρόγραμμα γραμμένο σε TkInter εν ενεργεία. Δε δίνει και την καλύτερη αίσθηση γιατί έχει κάπως παλιομοδίτικη εμφάνιση. Το TkInter είναι φορητό και λειτουργεί τόσο σε both Linux/Unix όσο και σε Windows, Το σημαντικό είναι ότι το TkInter είναι μέρος της διανομής της Python. Για να ξεκινήσετε, διαβάστε το Βοήθημα του Tkinter.

Για ακόμα περισσότερες επιλογές, δείτε τη σελίδα για το GuiProgramming στο wiki του επίσημου ιστότοπου της Python.

Σύνοψη των εργαλείων GUI

Δυστυχώς δεν υπάρχει κανένα πρότυπο εργαλείο GUI για την Python. Εισηγούμαι να χρησιμοποιήσετε ένα από τα πιο πάνω εργαλεία, ανάλογα με την κατάστασή σας. Ο πρώτος παράγοντας είναι αν είστε διατεθιμένοι να πληρώσετε για να χρησιμοποιήσετε ένα εργαλείο GUI. Ο δεύτερος παράγοντας είναι αν θέλετε το πρόγραμμά σας να τρέχει μόνο σε Windows, ή μόνο σε Mac, ή μόνο σε Linux, ή σε όλα. Ο τρίτος παράγοντας είναι, αν διαλέξατε την πλατφόρμα Linux, αν είστε χρήστης του KDE ή του GNOME.

Για μια πιο λεπτομερή και πλήρη ανάλυση, δείτε τη σελίδα 26 του The Python Papers, Τόμος 3, Τεύχος 1.

Διάφορες υλοποιήσεις

Υπάρχουν συνήθως δύο μέρη σε μια γλώσσα προγραμματισμού: η γλώσσα και το λογισμικό. Η γλώσσα είναι το πώς γράφετε κάτι. Το λογισμικό είναι το τι πραγματικά εκτελεί τα προγράμματά μας.

Εμείς χρησιμοποιήσαμε το λογισμικό CPython για να εκτελούμε τα προγράμματά μας. Αναφερόμαστε σ' αυτό ως CPython επειδή είναι γραμμένο στη γλώσσα C και είναι ο Κλασικός διερμηνευτής της Python.

Υπάρχει επίσης και άλλο λογισμικό με το οποίο μπορείτε να τρέξετε τα προγράμματά σας:

Jython
Μια υλοποίησης της Python που τρέχει στην πλατφόρμα Java. Αυτό σημαίνει ότι μπορείτε να χρησιμοποιείτε τις βιβλιοθήκες και της πλάσεις της Java μέσα από την Python και το αντίθετο.
IronPython
Μια υλοποίησης της Python που τρέχει στην πλατφόρμα .NET. Αυτό σημαίνει ότι μπορείτε να χρησιμοποιείτε τις βιβλιοθήκες .NET μέσα από την Python και το αντίθετο.
PyPy
Μια υλοποίηση της Python γραμμενη σε Python! Αυτό είναι ένα ερευνητικό έργο για την επιτάχυνση και διευκόλυνση της βελτίωσης του διερμηνευτή αφού ο ίδιος ο διερμηνευτής έιναι γραμμένος σε μια δυναμική γλώσσα (σε αντίθεση με τις στατικές γλώσσες όπως τη C, τη Java ή τη C# στις τρεις υλοποιήσει που αναφέρθηκαν πιο πάνω).
Stackless Python
Μια υλοποίηση της Python που εστιάζει στην απόδοση βασισμένη σε νήματα.

Υπάρχουν και άλλες, όπως η CLPython -μια υλοποίηση της Python γραμμένη σε Common Lisp- και η IronMonkey η οποία είναι μια μεταφορά της IronPython ώστε να δουλεύει πάνω από έναν διερμηνευτή JavaScript πράγμα το οποίο σημαίνει ότι μπορείτε να χρησιμοποιήσετε την Python (αντί της JavaScript) για να γράψετε προγράμματα που τρέχουν μέσα από τον περιηγητή ιστού ("Ajax").

Κάθε μια από αυτές τις υλοποιήσεις έχει την ειδική περιοχή χρήσεων στην οποία είναι χρήσιμη.

Σύνοψη

Τώρα φτάσαμε στο τέλος αυτού του βιβλίου, αλλά είμαστε μόνο στην αρχή του ταξιδιού μας στην Python. Είστε πια ικανοί προγραμματιστές της Python και χωρίς αμφιβολία είστε έτοιμοι να λύσετε πολλά προβλήματα χρησιμοποιώντας την Python. Μπορείτε να αρχίσετε να αυτοματοποιείτε πολλά πράγματα στον υπολογιστή σας που ούτε τα φανταζόσασταν πιο παλιά, ή να γράψετε τα δικά σας παιχνίδια, και πολλά πολλά άλλα! Λοιπόν, τι περιμένετε;



Πίσω στα περιεχόμενα

Please add your comments by clicking on the 'Discussion' link in the left sidebar.