Η γλώσσα Python διαθέτει ορισμένα χαρακτηριστικά που την έκαναν μια επιτυχημένη γλώσσα προγραμματισμού και βοήθησαν στην εξάπλωσή της:
- Απλή σύνταξη: Το συντακτικό τής Python είναι απλούστερο από άλλες γλώσσες προγραμματισμού και κρατήθηκε εσκεμμένα απλό. Έτσι από την Python απουσιάζουν τα σημάδια τέλους γραμμής (;) που υπάρχουν σε γλώσσες όπως η C. Επίσης, απουσιάζουν ακόμα και δομές όπως τα άγκιστρα ({}) τα οποία σηματοδοτούν την αρχή και το τέλος τού σώματος (block) εντολών μιας δομής. Έτσι η γλώσσα γίνεται περισσότερο φιλική στον χρήστη κι αυξάνει την παραγωγικότητα τού προγραμματιστή.
- Γενική Χρήση: Η γλώσσα Python μπορεί να χρησιμοποιηθεί σε οποίαδήποτε περιοχή προγραμματισμού. Έχει χρησιμοποιηθεί επιτυχημένα σε περιοχές όπως: 1. Τεχνητή Νοημοσύνη, 2. Μηχανική Μάθηση, 3. Διαδικτυακός Προγραμματισμός, 4. Ανάπτυξη Παιχνιδιών, 5. Εκπαιδευτικό Λογισμικό, 6. Οικονομικές Εφαρμογές, 7. Στατιστική, 8. Επιστημονικές Εφαρμογές. Συγκεκριμένα μπορούμε να αναφέρουμε ότι δεν υπάρχει τομέας τής επιστήμης τής πληροφορικής που να μήν έχει χρησιμοποιηθεί η γλώσσα Python.
- Υποστήριξη Πολλών Δομών Δεδομένων: Η γλώσσα Python υποστηρίζει πολλές δομές δεδομένων οι οποίες θεωρούνται υψηλού επιπέδου και βοηθούν τον προγραμματιστή να οργανώνει καλύτερα και αποδοτικότερα τα δεδομένα του με αποτέλεσμα να δημιουργεί περισσότερο δομημένα προγράμματα και να αυξάνει την παραγωγιμότητά του. Η Python υποστηρίζει τις λίστες οι οποίες βοηθούν εκτός τών άλλων για να δημιουργήσουμε και ανώτερες πολυπλοκότερες δομές δεδομένων όπως ουρές, στοίβες, δέντρα. Υποστηρίζε ακόμα τις πλειάδες, τα λεξικά, τα σύνολα. Όλες αυτές οι δομές δεδομένων αποτελούν σημαντικό βοήθημα στον προγραμματιστή.
- Εύκολα Επεκτάσιμη Γλώσσα: Η Python αποτελεί μια εύκολα επεκτάσιμη γλώσσα. Πρώτα από όλα είναι μια γλώσσα ανοικτού κώδικα. Η δημιουργία βιβλιοθηκών είναι πολύ εύκολη.
- Υψηλή Φορητότητα: Η γλώσσα Python μεταφέρεται εύκολα από το ένα υπολογιστικό σύστημα στο άλλο εύκολα και απλά. Ένα σημαντικό πρόβλημα στον προγραμματισμό ήταν πάντα η μεταφορά ενός προγράμματος από το ένα υπολογιστικό σύστημα στο άλλο. Οι προγραμματιστές όταν ανέπτυσσαν ένα πρόγραμμα αυτό ήταν στενά συνδεδεμένο με την μηχανή που αναπτύχθηκε και το αντίστοιχο λειτουργικό σύστημα. Έτσι προκειμένου να μεταφερθεί σε μια άλλη μηχανή και σε ένα άλλο λειτουργικό σύστημα θα έπρεπε είτε να ξαναγραφτεί από την αρχή ή στην καλύτερη περίπτωση να διορθωθεί τμηματικά ώστε να είναι εκτελέσιμο στο νέο συνδυασμό μηχανής και λειτουργικού συστήματος. Το πρόβλημα τής φορητότητας δεν υφίσταται στην περίπτωση τής Python. Όταν γράφουμε ένα πρόγραμμα σε Python σε ένα υπολογιστικό σύστημα τότε αυτό μπορεί να μεταφερθεί αναλλοίωτο σε οποιοδήποτε άλλο υπολογιστικό σύστημα αρκεί να είναι διαθέσιμος σε αυτό ο διερμηνευτής τής γλώσσας. Έτσι ένα πρόγραμμα Python το οποίο γράφτηκε σε ένα μηχάνημα που τρέχει Linux, μπορεί να εκτελεστεί χωρίς καμιά μετατροπή σε ένα άλλο μηχάνημα που τρέχει Unix, μπορεί να εκτελεστεί χωρίς καμιά μετατροπή σε ένα μηχάνημα που τρέχει Windows, μπορεί να εκτελεστεί χωρίς καμιά μετατροπή σε ένα κινητό τηλέφωνο που τρέχει IOS ή Android. Άρα, το πρόγραμμα σε Python το γράφετε μια φορά κι έπειτα μπορείτε να το εκτελέσετε σε οποιοδήποτε άλλο υπολογιστικό σύστημα θέλετε χωρίς καμιά απολύτως μετατροπή.
- Διερμηνευόμενη Γλώσσα Προγραμματισμού: Η γλώσσα Python χρησιμοποιεί διερμηνευτή (interpreter) κι όχι compiler. Η διαφορά αυτών τών δύο βρίσκεται σετον τρόπο λειτουργίας. Ο διερμηνευτής παρέχει ένα περιβάλλον ανάπτυξης το οποίο δίνει την δυνατότητα στον προγραμματιστή να δοκιμάσει οποιαδήποτε εντολή απευθείας και να δεί τα αποτελέσματά της. Ο compiler θα πρέπει να ελέγξει ολόκληρο το πρόγραμμα κι εφόσον αυτό είναι ολόκληρο σωστό συντακτικά, τότε θα παράγει ένα εκτελέσιμο αρχείο (.exe) το οποίο και θα δωθεί στον τελικό χρήστη για εκτέλεση. Ο διερμηνευτής (interpreter) θα εκτελεί μια μια τις γραμμές τού προγράμματος μέχρι να φτάσει σε αυτήν που είναι λανθασμένη κι εκεί να σταματήσει. Επίσης ο διερμηνευτής (interpreter) δεν θα παράξει εκτελέσιμο αρχείο (.exe) και για να εκτελεστεί το πρόγραμμά σας θα πρέπει ο τελικός χρήστης να έχει τον διερμηνευτή (interpreter) τής γλώσσας μαζί με το πρόγραμμά σας προκειμένου να μπορέσει να το εκτελέσει. Η Python δεν είναι η πρώτη διερμηνευόμενη γλώσσα προγραμματισμού που δημιουργήθηκε. Υπήρξαν πολλές και πολύ ισχυρές και χρήσιμες γλώσσες στο παρελθόν που χρησιμοποιούσαν διερμηνευτή (Lisp, Logo). Παραδοσιακά οι διερμηνευόμενες γλώσσες προγραμματισμού είχαν το μειονέκτημα της χαμηλότερης ταχύτητας εκτέλεσης σε σχέση με τις γλώσσες οι οποίες έδιναν κάποιο εκτελέσιμο αρχείο και το σημαντικότερο είναι ότι οποιοδήποτε πρόγραμμα δημιουργούσε ο προγραμματιστής ήταν ορατό και άρα εκμεταλεύσιμο από οποιονδήποτε το είχε στην κατοχή του. Θα μπορούσε να το αγοράσει κι έπειτα να αρχίσει να το εκμεταλεύεται χωρίς να δίνει κανένα κέρδος στον προγραμματιστή που το είχε δημιουργήσει. Αυτός είναι ίσως και ο σημαντικότερος λόγος που οι γλώσσες που χρησιμοποιούσαν διερμηνευτή δεν είχαν την προτίμηση τών προγραμματιστών. Στις ημέρες μας το μοντέλο προγραμματισμού αλλάζει. Όλες οι εφαρμογές μετατοπίζονται στο σύννεφο (cloud) και το πρόγραμμα από προϊόν μετατοπίζεται όλο και περισσότερο προς την υπηρεσία. Έτσι, μελλοντικά (έχει ξεκινήσει ήδη) το πρόγραμμα θα εκτελείται σε έναν διακομιστή (server) κι εμείς θα πληρώνουμε την υπηρεσία χρήσης τους περίπου όπως ένα λογαριασμό νερού ή ρεύματος. Στην περίπτωση αυτή, το πρόγραμμα θα βρίσκεται στον διακομιστή και ο κώδικας που θα εκτελείται δεν θα είναι προσβάσιμος από τον τελικό χρήστη επομένως δεν θα ενδιαφέρει πλέον αν έχουμε να κάνουμε με ένα πρόγραμμα interpreter ή compiler. Η εξέλιξη αυτή έχει δώσει ώθησει σε όλες τίς γλώσσες που χρησιμοποιούν διερμηνευτή όπως Python, Javascript.
- Ευκολία στην εκμάθηση: Η γλώσσα Python είναι ίσως η ευκολότερη γλώσσα προγραμματισμού. Μπορείτε να την μάθετε πολύ γρήγορα και να είστε παραγωγικοί χωρίς να απαιτείται καμιά προηγούμενη γνώση προγραμματισμού. Αυτός είναι κι ένας από τους λόγους που η γλώσσα αυτή γνώρισε και γνωρίζει τόσο μεγάλη ανάπτυξη.
- Ταχύτατη δημιουργία προγραμμάτων: Η ευκολία εκμάθησης σε συνδυασμό με τις προχωρημένες δομές δεδομένων που υποστηρίζει η γλώσσα Python, αλλά και το περιβάλλον interpreter αυξάνει κατακόρυφα την παραγωγικότητα τού προγραμματιστή κι οδηγεί στην ταχύτατη συγγραφή προγραμμάτων.