ebook img

A Byte Of Python (el) PDF

2009·0.58 MB·Greek
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview A Byte Of Python (el)

Contents Articles Python el:Περιεχόμενα 1 Python el:Μεταφράσεις 2 Python el:Προοίμιο 3 Python el:Εισαγωγή 6 Python el:Εγκατάσταση 10 Python el:Τα πρώτα βήματα 12 Python el:Τα βασικά 17 Python el:Τελεστές και εκφράσεις 25 Python el:Έλεγχος ροής 30 Python el:Συναρτήσεις 37 Python el:Αρθρώματα 47 Python el:Δομές δεδομένων 54 Python el:Επίλυση προβλημάτων 65 Python el:Αντικειμενοστρεφής προγραμματισμός 74 Python el:Είσοδος έξοδος 83 Python el:Εξαιρέσεις 87 Python el:Πρότυπη βιβλιοθήκη 92 Python el:Περισσότερα 97 Python el:Και τώρα τι γίνεται 102 Python el:Παράρτημα Γλωσσάρι 107 Python el:Παράρτημα ΕΛΛΑΚ 111 Python el:Παράρτημα Περί 113 Python el:Παράρτημα Ιστορικό αναθεωρήσεων 114 References Article Sources and Contributors 116 Article Licenses License 117 Python el:Περιεχόμενα 1 Python el:Περιεχόμενα • Πρώτη σελίδα (στα Αγγλικά) 1. → Μεταφράσεις 2. → Προοίμιο 3. → Εισαγωγή 4. → Εγκατάσταση 5. → Τα πρώτα βήματα 6. → Τα βασικά 7. → Τελεστές και εκφράσεις 8. → Έλεγχος ροής 9. → Συναρτήσεις 10. → Αρθρώματα 11. → Δομές δεδομένων 12. → Επίλυση προβλημάτων 13. → Αντικειμενοστρεφής προγραμματισμός 14. → Είσοδος έξοδος 15. → Εξαιρέσεις 16. → Πρότυπη βιβλιοθήκη 17. → Περισσότερα 18. → Και τώρα τι γίνεται; 19. → Παράρτημα: Γλωσσάρι 20. → Παράρτημα: ΕΛΛΑΚ 21. → Παράρτημα: Περί 22. → Παράρτημα: Ιστορικό αναθεωρήσεων Προηγούμενο Επόμενο Python el:Μεταφράσεις 2 Python el:Μεταφράσεις Χάρη στη δουλειά πολλών εθελοντών, διατίθενται πολλές μεταφράσεις του βιβλίου, σε πολλές γλώσσες: • Κινέζικα, Απλά • Κινέζικα, Παραδοσιακά • Ιταλικά • Γερμανικά • Νορβηγικά • Ινδονησιακά • Πολωνικά • Καταλανικά • Πορτογαλικά • Ρουμανικά • Πορτογαλικά Βραζιλίας • Γαλλικά • Δανικά • Ισπανικά • Αραβικά • Σουηδικά • Ρωσικά και Ουκρανικά • Τουρκικά • Μογγολικά • και βεβαίως... Ελληνικά! Μπορείτε να δείτε μια ενημερωμένη λίστα με λεπτομέρειες για κάθε γλώσσα στη σελίδα Translations (στα Αγγλικά). [1] Την ελληνική μετάφραση του βιβλίου την ανέλαβε η ελληνική κοινότητα του Ubuntu , με σκοπό να χρησιμοποιηθεί το υλικό αυτό για τα online μαθήματά της. → Προηγούμενο → Επόμενο → Πίσω στα περιεχόμενα References [1] http://ubuntu-gr.org Python el:Προοίμιο 3 Python el:Προοίμιο Η Python είναι πιθανότατα μια από τις λιγοστές γλώσσες προγραμματισμού που είναι τόσο εύκολες όσο και ισχυρές. Αυτό είναι εξίσου καλό για τους αρχάριους όσο και για τους έμπειρους, και το πιο σημαντικό απ' όλα: είναι διασκεδαστικό να προγραμματίζεις με την Python. Αυτό το βιβλίο έχει σκοπό να σας βοηθήσει να μάθετε την υπέροχη αυτή γλώσσα και να σας δείξει πώς να κάνετε τα πράγματα εύκολα και απλά. Αν ο τίτλος "A Byte of Python" θα μπορούσε να μεταφραστεί "Το δάγκωμα του Πύθωνα", τότε θεωρήστε το βιβλίο αυτό ως το αντίδοτο στα "δηλητηριώδη" προβλήματα του προγραμματισμού. Σε ποιούς απευθύνεται αυτό το βιβλίο Το βιβλίο αυτό είναι ένας οδηγός ή ένα βοήθημα για τη γλώσσα προγραμματισμού Python. Κυρίως απευθύνεται σε νέους προγραμματιστές, αλλά είναι επίσης χρήσιμο και για τους έμπειρους. Ο στόχος του βιβλίου αυτού είναι να σας μάθει την Python, με μοναδική προαπαιτούμενη γνώση να ξέρετε να αποθηκεύετε απλά αρχεία κειμένου. Αν έχετε προηγούμενη εμπειρία στον προγραμματισμό, και πάλι μπορείτε να μάθετε την Python από αυτό το βιβλίο. Αν όντως έχετε κάποια προγραμματιστική εμπειρία, θα σας ενδιαφέρουν οι διαφορές ανάμεσα στην Python και την αγαπημένη σας γλώσσα προγραμματισμού. Στο κείμενο του βιβλίου έχουν επισημανθεί αρκετές τέτοιες διαφορές. Σας οφείλουμε όμως μια προειδοποίση: πολύ σύντομα, η αγαπημένη σας γλώσσα προγραμματισμού θα είναι η Python! Μάθημα ιστορίας Πρωτοξεκίνησα με την Python όταν χρειάστηκα να γράψω ένα πρόγραμμα εγκατάστασης για ένα λογισμικό που είχα γράψει το οποίο ονομαζόταν 'Diamond' ώστε να κάνω εύκολη την εγκατάστασή του. Έπρεπε να διαλέξω μεταξύ της σύνδεσης της Python και της Perl με τη βιβλιοθήκη Qt. Έκανα μια έρευνα στο διαδίκτυο [1] και βρήκα ένα άρθρο στο οποίο ο Eric S. Raymond, ο διάσημος και αξιοσέβαστος αυτός hacker, εξηγούσε πώς η Python έγινε η αγαπημένη του γλώσσα προγραμματισμού. Βρήκα επίσης ότι η σύνδεση PyQt ήταν πιο ώριμη σε σύγκριση με την Perl-Qt. Έτσι, αποφάσισα ότι η Python ήταν η γλώσσα για μένα. Τότε άρχισα να ψάχνω για ένα καλό βιβλίο για την Python, και δε μπορούσα να βρω κάποιο που να με ικανοποιεί! Βρήκα μερικά βιβλία από την O'Reilly αλλά είτε ήταν πολύ ακριβά, είτε ήταν περισσότερο εγχειρίδια αναφοράς παρά οδηγοί. Έτσι, συμβιβάστηκα με την τεκμηρίωση που συνόδευε την Python. Ωστόσο, ήταν πολύ περιληπτική και σύντομη. Παρείχε μια πραγματικά καλή ιδέα για την Python αλλά δεν ήταν πλήρης. Τα κατάφερα με την τεκμηρίωση επειδή είχα προηγούμενη εμπειρία στον προγραμματισμό, αλλά δεν ήταν κατάλληλη για αρχάριους. Περίπου έξι μήνες μετά την πρώτη μου επαφή με την Python, εγκατέστησα την καινούρια (τότε) έκδοση της διανομής Red Hat 9.0 Linux και πειραματιζόμουν με το KWord. Ενθουσιάστηκα μαζί του, και ξαφνικά μου ήρθε η ιδέα να γράψω μερικά πράγματα για την Python. Ξεκίνησα γράφοντας μερικές σελίδες, αλλά σύντομα έφτασα τις 30 σελίδες. Τότε, αποφάσισα να πάρω τα πράγματα στα σοβαρά, και να φτιάξω κάτι χρήσιμο σε μορφή βιβλίου. Μετά από πολλές αναθεωρήσεις, είχε φτάσει σ' ένα σημείο όπου ήταν ένας χρήσιμος οδηγός για την εκμάθηση της γλώσσας Python. Θεώρησα ότι το βιβλίο αυτό θα ήταν η συνεισφορά μου, αφιερωμένη στην κοινότητα του ανοικτού κώδικα. Το βιβλίο αυτό ξεκίνησε ως οι προσωπικές μου σημειώσεις πάνω στην Python, και ακόμα έτσι το βλέπω κατά κάποιο τρόπο, παρόλο που κατέβαλα κάθε προσπάθεια να το κάνω πιο αποδεκτό από όλους. Συμπνέοντας με το πνεύμα του ανοικτού κώδικα, έλαβα πολλές εποικοδομητικές εισηγήσεις, κριτικές και αναδράσεις από ενθουσιώδεις αναγνώστες, οι οποίοι βοήθησαν πολύ στη βελτίωση αυτού του βιβλίου. Python el:Προοίμιο 4 Κατάσταση του βιβλίου Οι αλλαγές από την τελευταία μεγάλη αναθεώρηση του Μαρτίου του 2005 ήταν η ενημέρωση για την έκδοση Python 3.0 (που κυκλοφόρησε το Δεκέμβριο του 2008). Μια που η γλώσσα Python 3.0 δεν ήταν ακόμα τελειοποιημένη και δημοσιευμένη, και μια που το κείμενο μπορεί να βελτιώνεται συνεχώς, το βιβλίο αυτό υπόκειται σε συνεχείς αλλαγές. Ωστόσο, στο πνεύμα της φιλοσοφίας του ανοικτού κώδικα "εκδόσεις νωρίς, εκδόσεις συχνά", το ενημερωμένο βιβλίο δημοσιεύτηκε ήδη πριν την κυκλοφορία της Python 3000 και ανανεώνεται συνεχώς. Το βιβλίο χρειάζεται τη βοήθεια των αναγνωστών όπως εσείς για την υπόδειξη οποιονδήποτε σημείων του βιβλίου που δεν είναι ικανοποιητικά, κατανοητά ή απλά είναι λανθασμένα. Θα ήθελα να σας παρακαλέσω να [2] γράψετε στον αρχικό συγγραφέα ή στους αντίστοιχους μεταφραστές τα σχόλια και τις εισηγήσεις σας. Η διατήρηση της ισορροπίας σ' αυτό το βιβλίο μεταξύ των αναγκών ενός αρχάριου και της τάσης για "πληρότητα" των πληροφοριών είναι ένας ασταμάτητος αγώνας. Θα ήταν χρήσιμο αν οι αναγνώστες παρείχαν ανάδραση για το βάθος στο οποίο καλύπτονται τα θέματα σ' αυτό το βιβλίο. Επίσημος ιστότοπος Ο επίσημος ιστότοπος αυτού του βιβλίου είναι ο http://www.swaroopch.com/notes/Python όπου μπορείτε να διαβάσετε ολόκληρο το βιβλίο στο διαδίκτυο, να κατεβάσετε τις τελευταίες εκδόσεις του, να αγοράσετε ένα [3] τυπωμένο αντίγραφο (στα αγγλικά), και επίσης να μου στείλετε ανάδραση. Άδεια 1. Το βιβλίο αυτό διατίθεται υπό την άδεια Creative Commons Attribution-Noncommercial-Share Alike 3.0 [4] Unported . • Αυτό σημαίνει ότι: • Μπορείτε να Μοιραστείτε π.χ. να αντιγράψετε, να διανείμετε και να μεταδώσετε αυτό το βιβλίο • Μπορείτε να Τροποποιήσετε π.χ. να προσαρμόσετε αυτό το βιβλίο • Υπό τους εξής όρους: • Αναφορά στον αρχικό δημιουργό. Πρέπει να αναφέρετε τον αρχικό δημιουργό του έργου με τον τρόπο που καθορίζει ο δημιουργός ή αυτός που εφαρμόζει την άδεια (αλλά όχι με τρόπο που υπαινίσσεται ότι εκείνοι εγκρίνουν τη δική σας χρήση αυτού του βιβλίου). • Όμοια διανομή. Αν αλλάξετε, μετατρέψετε ή επεκτείνετε αυτό το έργο, μπορείτε να διανείμετε το αποτέλεσμα μόνο υπό τους όρους της ίδιας ή μιας όμοιας/συμβατής άδειας. • Για οποιαδήποτε επανάχρηση ή διανομή, πρέπει να ξεκαθαρίσετε στους άλλους τους όρους της άδειας αυτού του βιβλίου. • Οποιοσδήποτε από τους πιο πάνω όρους μπορεί να αρθεί αν πάρετε έγκριση από τον ιδιοκτήτη των πνευματικών δικαιωμάτων. • Τίποτα σε αυτή την άδεια δε μειώνει ή περιορίζει τα ηθικά δικαιώματα του δημιουργού. 2. Η αναφορά στον αρχικό δημιουργό πρέπει να είναι εμφανής συνδέοντας στο http://www.swaroopch.com/ notes/Python και ξεκάθαρα υποδεικνύοντας ότι το αρχικό κείμενο μπορεί να ληφθεί από αυτήν την τοποθεσία. [5] 3. Όλος ο κώδικας/σενάρια εντολών σ' αυτό το βιβλίο παρέχονται υπό την άδεια 3-clause BSD License εκτός και αν σημειώνεται διαφορετικά. 4. Οι εθελοντικές συνεισφορές σ' αυτό το βιβλίο πρέπει να είναι κάτω από την ίδια άδεια και τα πνευματικά δικαιώματα να ανατίθεται στον αρχικό δημιουργό αυτού του βιβλίου. Python el:Προοίμιο 5 Ανάδραση Έχω καταβάλει πολλή προσπάθεια για να κάνω αυτό το βιβλίο όσο πιο ενδιαφέρον και όσο πιο ακριβές γίνεται. Ωστόσο, αν διαπιστώσετε ότι κάποιο υλικό είναι ανακριβές ή λανθασμένο, ή απλά χρειάζεται βελτίωση, τότε παρακαλώ να με πληροφορήσετε γι' αυτό, ώστε να κάνω τις απαραίτητες βελτιώσεις. Μπορείτε να επικοινωνήσετε μαζί μου μέσα από τη σελίδα χρήστη μου. Αγορά του βιβλίου Αν θέλετε να υποστηρίξετε τη συνεχιζόμενη ανάπτυξη αυτού του βιβλίου, παρακαλώ σκεφτείτε αν μπορείτε να [3] αγοράσετε ένα τυπωμένο αντίγραφο ή να κάνετε μια εισφορά. Τροφή για σκέψη Υπάρχουν δύο τρόποι για να κατασκευάσετε το σχεδιασμό ενός λογισμικού: ο ένας είναι να το κάνετε τόσο απλό ώστε προφανώς να μην υπάρχουν ελαττώματα, και ο άλλος είναι να το κάνετε τόσο πολύπλοκο ώστε να μην είναι προφανή τα ελαττώματα. -- C. A. R. Hoare Η επιτυχία στη ζωή δεν είναι τόσο θέμα ταλέντου και ευκαιριών όσο συγκέντρωσης και συνέπειας. -- C. W. Wendte → Προηγούμενο → Επόμενο → Πίσω στα περιεχόμενα References [1] http://pythonology.org/success&story=esr [2] http://www.swaroopch.com/contact/ [3] http://www.swaroopch.com/buybook [4] http://creativecommons.org/licenses/by-nc-sa/3.0/ [5] http://www.opensource.org/licenses/bsd-license.php Python el:Εισαγωγή 6 Python el:Εισαγωγή Εισαγωγή Η Python είναι μια από εκείνες τις σπάνιες γλώσσες που ισχυρίζονται ότι είναι και απλές και ισχυρές. Θα εκπλαγείτε ευχάριστα από την ευκολία με την οποία θα συγκεντρώνεστε στη λύση ενός προβλήματος παρά στο συντακτικό και τη δομή της γλώσσας στην οποία προγραμματίζετε. Η επίσημη εισαγωγή στην Python είναι: Η Python είναι μια εύκολη στην εκμάθηση, ισχυρή γλώσσα προγραμματισμού. Έχει αποδοτικές δομές δεδομένων υψηλού επιπέδου και μια απλή αλλά αποτελεσματική προσέγγιση στον αντικειμενοστρεφή προγραμματισμό. Η κομψή σύνταξη της Python και οι δυναμικοί τύποι της, μαζί με τη λειτουργία της ως διερμηνευόμενης (αντί μεταγλωττιζόμενης) γλώσσας, την καθιστούν την ιδανική γλώσσα για δημιουργία σεναρίων εντολών και για ταχεία ανάπτυξη εφαρμογών σε πολλούς τομείς και στις περισσότερες πλατφόρμες. Θα εξηγήσω τα περισσότερα από αυτά τα χαρακτηριστικά λεπτομερώς στις επόμενες ενότητες. Σημείωση Ο Guido van Rossum, ο δημιουργός της γλώσσας Python, ονόμασε τη γλώσσα από την εκπομπή "Monty Python's Flying Circus" του BBC. Δεν του αρέσουν ιδιαίτερα τα φίδια τα οποία σκοτώνουν άλλα ζώα για φαγητό τυλίγοντας το σώμα τους γύρω τους και συντρίβοντάς τα. Χαρακτηριστικά της Python Απλή Η Python είναι μια απλή και μινιμαλιστική γλώσσα. Το διάβασμα ενός καλού προγράμματος σε Python είναι σαν το διάβασμα των Αγγλικών, αλλά πολύ αυστηρών Αγγλικών! Αυτή η ομοιότητα της Python με ψευδοκώδικα είναι ένα από τα πιο ισχυρά σημεία της. Σας επιτρέπει να συγκεντρώνεστε στη λύση του προβλήματος αντί στην ίδια τη γλώσσα. Εύκολη στην εκμάθηση Όπως θα δείτε, είναι εξαιρετικά απλό να ξεκινήσετε με την Python. Η Python έχει μια ασυνήθιστα απλή σύνταξη, όπως έχει ήδη αναφερθεί. Ελεύθερη και Ανοικτού Κώδικα Η Python είναι ένα παράδειγμα ΕΛΛΑΚ (Ελεύθερο Λογισμικό και Λογισμικό Ανοικτού Κώδικα). Με απλά λόγια, μπορείτε να διανείμετε αντίγραφα αυτού του λογισμικού, να διαβάσετε τον πηγαίο κώδικά του, να κάνετε αλλαγές σ' αυτό και να χρησιμοποιήσετε κομμάτια του σε νέα ελεύθερα προγράμματα. Το ΕΛΛΑΚ βασίζεται στην ιδέα μιας κοινότητας που μοιράζεται τη γνώση. Αυτός είναι ένας από τους λόγους για τους οποίους η Python είναι τόσο καλή -δημιουργήθηκε και βελτιώνεται συνεχώς από μια κοινότητα που το μόνο που θέλει είναι μια καλύτερη Python. Γλώσσα υψηλού επιπέδου Όταν γράφετε προγράμματα στην Python, δε χρειάζεται ποτέ να νοιάζεστε για τις χαμηλού επιπέδου λεπτομέρειες όπως η διαχείριση της μνήμης που χρησιμοποιείται από τα προγράμματά σας, κ.λπ. Φορητή Λόγω του ανοικτού της κώδικα, η Python έχει υλοποιηθεί (δηλαδή αλλάχθηκε για να λειτουργεί) σε πολλές πλατφόρμες. Όλα τα Python προγράμματά σας μπορούν να δουλέψουν σε οποιαδήποτε από αυτές τις πλατφόρμες χωρίς να χρειάζονται καθόλου αλλαγές αν είστε αρκετά προσεκτικοί ώστε να Python el:Εισαγωγή 7 αποφύγετε να χρησιμοποιήσετε χαρακτηριστικά που εξαρτούνται από κάθε σύστημα. Μπορείτε να χρησιμοποιήσετε την Python στο Linux, στα Windows, στο FreeBSD, σε Macintosh, στο Solaris, στο OS/2, στην Amiga, στο AROS, στο AS/400, στο BeOS, στο OS/390, στο z/OS, στο Palm OS, στο QNX, στο VMS, στο Psion, στο Acorn RISC OS, στο VxWorks, σε PlayStation, στο Sharp Zaurus, στα Windows CE ακόμα και σε PocketPC ! Διερμηνευόμενη Εδώ χρειάζονται μερικές εξηγήσεις. Ένα πρόγραμμα που γράφεται σε μια μεταγλωττιζόμενη γλώσσα όπως η C ή η C++ μετατρέπεται από την πηγαία γλώσσα, για παράδειγμα τη C ή τη C++ σε μια γλώσσα που μιλάει ο υπολογιστής σας (δυαδικός κώδικας δηλαδή 0 και 1) χρησιμοποιώντας ένα μεταγλωττιστή με διάφορες σημαίες και επιλογές. Όταν τρέχετε το πρόγραμμα, ο συνδέτης αντιγράφει το πρόγραμμα στη μνήμη και αρχίζει να το τρέχει. Η Python, από την άλλη, δε χρειάζεται μεταγλώττιση σε δυαδικό αρχείο. Απλά τρέχετε το πρόγραμμα απ' ευθείας από τον πηγαίο κώδικα. Εσωτερικά, η Python μετατρέπει τον πηγαίο κώδικα σε μια ενδιάμεση μορφή που ονομάζεται bytecode και μετά το μεταφράζει στη γλώσσα του υπολογιστή και μετά το τρέχει. Όλο αυτό, στην πραγματικότητα κάνει τη χρήση της Python πολύ πιο εύκολη αφού δε χρειάζεται να ανησυχείτε για τη μεταγλώττιση του προγράμματος, τη σύνδεση με τις κατάλληλες βιβλιοθήκες, κ.λπ, κ.λπ. Αυτό επίσης κάνει τα προγράμματα της Python εξαιρετικά φορητά, αφού μπορείτε απλά να αντιγράψετε το πρόγραμμα Python που φτιάξατε σε έναν άλλο υπολογιστή και να δουλέψει έτσι απλά! Αντικειμενοστρεφής Η Python υποστηρίζει τόσο το διαδικασιοστρεφή προγραμματισμό (procedure-oriented) όσο και τον αντικειμενοστρεφή προγραμματισμό (object-oriented). Στο διαδικασιοστρεφή προγραμματισμό, το πρόγραμμα δομείται πάνω σε διαδικασίες ή συναρτήσεις οι οποίες δεν είναι τίποτε άλλο από επαναχρησιμοποιήσιμα κομμάτια από προγράμματα. Στις αντικειμενοστρεφείς γλώσσες, το προγράμματα δομούνται πάνω σε αντικείμενα τα οποία συνδυάζουν δεδομένα και λειτουργικότητα. Η Python έχει έναν πολύ ισχυρό αλλά πολύ απλό τρόπο για αντικειμενοστρεφή προγραμματισμό, ειδικά όταν συγκρίνεται με μεγάλες γλώσσες όπως η C++ ή η Java. Επεκτάσιμη Αν χρειάζεστε ένα κρίσιμο κομμάτι κώδικα να τρέχει πολύ γρήγορα ή αν πρέπει να έχετε ένα κομμάτι ενός αλγόριθμου που να μην είναι ανοικτό, τότε μπορείτε να προγραμματίσετε εκείνο το κομμάτι σε C ή C++ και μετά να το χρησιμοποιείτε από το Python πρόγραμμά σας. Ενσωματώσιμη Μπορείτε να ενσωματώσετε την Python μέσα στα προγράμματα σε C/C++ για να τους δώσετε δυνατότητες 'scripting' για τους χρήστες σας. Εκτεταμένες βιβλιοθήκες Η Πρότυπη βιβλιοθήκη της Python είναι πραγματικά τεράστια. Μπορεί να σας βοηθήσει να κάνετε διάφορα πράγματα σχετικά με κανονικές εκφράσεις, δημιουργία τεκμηρίωσης, δοκιμές μονάδων, νημάτωση, βάσεις δεδομένων, περιηγητές ιστού, CGI, FTP, email, XML, XML-RPC, HTML, αρχεία WAV, κρυπτογράφηση, γραφικές διεπαφές χρήστη (GUI -graphical user interfaces), Tk, και άλλα πράγματα που εξαρτούνται από το σύστημα. Θυμηθείτε ότι όλα αυτά είναι διαθέσιμα όποτε είναι εγκατεστημένη η Python. Αυτό ονομάζεται φιλοσοφία 'Batteries Included' της Python. Επιπλεόν από την πρότυπη βιβλιοθήκη, υπάρχουν διάφορες άλλες βιβλιοθήκες υψηλής ποιότητας όπως [1] [2] [3] η wxPython , η Twisted , η Python Imaging Library και πολλές άλλες. Python el:Εισαγωγή 8 Η Python είναι πραγματικά μια συναρπαστική και ισχυρότατη γλώσσα. Έχει το σωστό συνδυασμό απόδοσης και χαρακτηριστικών που κάνουν τη δημιουργία προγραμμάτων σε Python διασκεδαστική και εύκολη. Γιατί όχι Perl; Αν δεν το ξέρατε ήδη, η Perl είναι μια ακόμα εξαιρετικά ισχυρή, δημοφιλής, ανοικτού κώδικα, διερμηνεύσιμη γλώσσα προγραμματισμού. Αν είχατε προσπαθήσει ποτέ να γράψετε ένα μεγάλο πρόγραμμα σε Perl, θα είχατε απαντήσει αυτή την ερώτηση από μόνοι σας! Με άλλα λόγια, τα προγράμματα σε Perl είναι πολύ εύκολα όταν είναι μικρά, και η γλώσσα διαπρέπει σε μικρά hacks και σενάρια εντολών που "κάνουν τη δουλειά τους". Ωστόσο, γρήγορα γίνεται ανυπόφορη όταν αρχίσετε να γράφετε μεγαλύτερα προγράμματα, και μιλάω από την προσωπική μου εμπειρία δημιουργίας μεγάλων προγραμμάτων σε Perl για τη Yahoo! Συγκρινόμενα με την Perl, τα προγράμματα σε Python είναι σίγουρα πιο απλά, πιο καθαρά, πιο εύκολα στη συγγραφή και άρα πιο κατανοητά και εύκολα στη συντήρηση. Πραγματικά θαυμάζω την Perl και τη χρησιμοποιώ καθημερινά για διάφορα πράγματα αλλά όταν γράφω ένα πρόγραμμα πάντα αρχίζω να το σκέφτομαι με τους όρους της Python επειδή έχει γίνει τόσο φυσική για μένα. Η Perl έχει υποστεί τόσα πολλά hacks και αλλαγές, που μοιάζει σαν να είναι η ίδια ένα τεράστιο (αλλά πολύ τεράστιο) hack. Δυστυχώς, η επερχόμενη Perl 6 δε φαίνεται να φέρνει καθόλου βελτιώσεις σ' αυτό τον τομέα. Το μοναδικό και πολύ σημαντικό πλεονέκτημα που νομίζω ότι έχει η Perl, είναι η τεράστια βιβλιοθήκη CPAN [4] -η Comprehensive Perl Archive Network. Όπως υπαινίσσεται και το όνομα, αυτή είναι μια γιγαντιαία συλλογή από αρθρώματα της Perl και είναι πραγματικά δύσκολο να κατανοήσει κανείς το μέγεθος και το βάθος της -μπορείτε να κάνετε οτιδήποτε σ' έναν υπολογιστή χρησιμοποιώντας αυτά τα αρθρώματα. Ένας από τους λόγους για τους οποίους η Perl έχει περισσότερες βιβλιοθήκες από την Python είναι γιατί υπάρχει εδώ και πολύ περισσότερο καιρό από ότι η Python. Εντούτοις αυτό φαίνεται να αλλάζει με το ολοένα αυξανόμενο [5] Ευρετήριο πακέτων της Python . Γιατί όχι Ruby; Αν δεν το ξέρατε ήδη, η Ruby είναι μια ακόμα δημοφιλής, ανοικτού κώδικα, διερμηνεύσιμη γλώσσα προγραμματισμού. Αν χρησιμοποιείτε ήδη τη Ruby και σας αρέσει, τότε χωρίς αμφιβολία σας προτείνω να συνεχίσετε να τη χρησιμοποιείτε. Για τους υπόλοιπους ανθρώπους που δεν την έχουν χρησιμοποιήσει ακόμα και προσπαθούν να αποφασίσουν αν θα μάθουν Python ή Ruby, τότε σας προτείνω την Python, καθαρά από την άποψη της ευκολίας εκμάθησης. Προσωπικά το βρήκα δύσκολο να κατανοήσω τη γλώσσα Ruby, αλλά όλοι οι άνθρωποι που την καταλαβαίνουν εξυμνούν την ομορφιά της γλώσσας. Δυστυχώς, εγώ δεν είμαι τόσο τυχερός. Τι λένε οι προγραμματιστές Ίσως να σας ενδιαφέρει να διαβάσετε τι λένε οι σπουδαίοι hackers όπως ο ESR για την Python: • Ο Eric S. Raymond είναι ο συγγραφέας του "Ο καθεδρικός και το παζάρι" και είναι επίσης εκείνος που [6] πρότεινε τον όρο Ανοικτός κώδικας. Λέει ότι η Python έγινε η αγαπημένη του γλώσσα προγραμματισμού (άρθρο στα αγγλικά). Αυτό το άρθρο ήταν η πραγματική έμπνευση πίσω από την πρώτη μου επαφή με την Python. • Ο Bruce Eckel είναι ο συγγραφέας των διάσημων βιβλίων Thinking in Java και Thinking in C++. Λέει ότι καμιά γλώσσα δεν τον έκανε να νιώσει πιο παραγωγικός από την Python. Λέει ότι η Python είναι ίσως η μόνη γλώσσα η οποία εστιάζει στο να κάνει τα πράγματα πιο εύκολα για τον προγραμματιστή. Διαβάστε Python el:Εισαγωγή 9 [7] την πλήρη συνέντευξή του (στα αγγλικά) για περισσότερες λεπτομέρειες. • Ο Peter Norvig είναι ένας γνωστός συγγραφέας της Lisp και Διευθυντής ποιότητας αναζητήσεων στο Google (ευχαριστώ τον Guido van Rossum που μου το ανέφερε αυτό). Λέει ότι η Python πάντα ήταν ένα [8] εσωτερικό κομμάτι του Google. Μπορείτε να το επιβεβαιώσετε αυτό κοιτώντας τις αγγελίες Google Jobs στις οποίες αναγράφεται η γνώση της Python ως απαιτούμενη για μηχανικούς λογισμικού. Περί της Python 3.0 Η Python 3.0 είναι η νέα έκδοση της γλώσσας. Μερικές φορές θα τη δείτε ως Python 3000 ή Py3K. Ο κύριος λόγος για μια μεγάλη νέα έκδοση της Python είναι να απομακρυνθούν όλα τα μικροπροβλήματα και ελαττώματα που συσσωρεύθηκαν με τα χρόνια, και να γίνει η γλώσσα ακόμα πιο καθαρή. Αν ήδη έχετε αρκετό κώδικα σε Python 2.x, τότε υπάρχει μια εφαρμογή που θα σας βοηθήσει να μετατρέψετε [9] τον κώδικα από 2.x σε 3.x (σελίδα στα Αγγλικά). Περισσότερες λεπτομέρειες στα (όλοι οι σύνδεσμοι στα Αγγλικά): [10] • Εισαγωγή του Guido van Rossum [11] • Τι είναι καινούριο στην Python 2.6 (χαρακτηριστικά που είναι πολύ διαφορετικά από προηγούμενες εκδόσεις Python 2.x και που πιθανότατα θα συμπεριληφθούν στην Python 3.0) [12] • Τι είναι καινούριο στην Python 3.0 [13] • Χρονοδιάγραμμα έκδοσης της Python 2.6 και της 3.0 [14] • Python 3000 (η επίσημη λίστα από προτεινόμενες αλλαγές) [15] • Διάφορα σχέδια για την Python 3.0 [16] • Νέα της Python (λεπτομερής λίστα αλλαγών) → Προηγούμενο → Επόμενο → Πίσω στα περιεχόμενα References [1] http://www.wxpython.org [2] http://www.twistedmatrix.com/products/twisted [3] http://www.pythonware.com/products/pil/index.htm [4] http://cpan.perl.org [5] http://pypi.python.org/pypi [6] http://www.linuxjournal.com/article.php?sid=3882 [7] http://www.artima.com/intv/aboutme.html [8] http://www.google.com/jobs/index.html [9] http://docs.python.org/3.0/library/2to3.html [10] http://www.artima.com/weblogs/viewpost.jsp?thread=208549 [11] http://docs.python.org/dev/whatsnew/2.6.html [12] http://docs.python.org/3.0/whatsnew/3.0.html [13] http://www.python.org/dev/peps/pep-0361/ [14] http://www.python.org/dev/peps/pep-3000/ [15] http://www.python.org/dev/peps/pep-3100/ [16] http://www.python.org/download/releases/3.0/NEWS.txt

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.