Η Python είναι μια γλώσσα προγραμματισμού ευρέως χρησιμοποιούμενη:
Γενικού σκοπού (general-purpose)
Υψηλού επιπέδου (high-level programming language)
Η σχεδίασή της δίνει έμφαση στην αναγνωσιμότητα κώδικα (readability). Η σύνταξή της επιτρέπει στους προγραμματιστές να εκφράζουν τις ιδέες τους γράφοντας λιγότερες γραμμές κώδικα (lines of code) σε σχέση με γλώσσες όπως η C++ ή Java. Η Python υποστηρίζει πολλαπλά “παραδείγματα” (τεχνικές, υποδείγματα, στυλ) προγραμματισμού (programming paradigm):
Αντικειμενοστρεφής προγραμματισμός(object-oriented)
Προστακτικός προγραμματισμός (imperative)
Συναρτησιακός προγραμματισμός (functional programming)
Διαδικαστικός προγραμματισμός (procedural styles)
Άλλα σημαντικά χαρακτηριστικά:
Δυναμικός καθορισμός τύπων δεδομένων (dynamic type)
Αυτοματοποιημένη διαχείριση μνήμης (Memory management & Garbage collection)
Μεγάλη και ευκολόχρηστη ενσωματωμένη βιβλιοθήκη (standard library)
Η ανάπτυξη της Python ξεκίνησε τον Δεκέμβριο του 1989 . Η έκδοση 2.0 εμφανίστηκε το 2000. Η έκδοση 3.0 εμφανίστηκε το 2008.
Δημιουργός: Guido van Rossum στο ερευνητικό κέντρο CWI της Ολλανδίας. Ο GvR εξακολουθεί να παίζει ένα κεντρικό ρόλο στην ανάπτυξη της γλώσσας. Σε αναγνώριση της συνεισφοράς του η κοινότητα Python του έχει απονείμει τον τίτλο διάκριση ‘BDFL’ (benevolent dictator for life). Το όνομα της γλώσσας προέρχεται από τους Monty Python - Monty Python's Flying Circus, και το λογότυπο είναι το …φιδάκι.
H Python δημιουργήθηκε αρχικά ως ‘scripting’ γλώσσα (μια γλώσσα για γράψιμο κώδικα ειδικού σκοπού σε συγκεκριμένες συνθήκες, π.χ. κώδικας για εργασίες διαχείρισης αρχείων σε συγκεκριμένο λειτουργικό σύστημα ). Λόγω του ευσύνοπτου κώδικά της έγινε γρήγορα δημοφιλής και εξελίχθηκε ώστε σήμερα να περιγράφεται ως:
δυναμική (dynamic)
υψηλού επιπέδου (high level)
και γενικού σκοπού (general-purpose)
Η Python είναι Open Source Project
Γιατί είναι δημοφιλής σήμερα
Ποιότητα λογισμικού (Software quality)
Παραγωγικότητα ανάπτυξης (Developer productivity)
Μεταφερσιμότητα κώδικα (Program portability)
Βιβλιοθήκες (Support libraries)
Ενσωμάτωση / Σύνδεση τμημάτων λογισμικού (Component integration)
…Είναι διασκεδαστική!!!
Η Python χρησιμοποιείται παντού όπου υπάρχουν ψηφιακές τεχνολογίες…
Systems & Application Programming
GUIs
Internet Scripting
Component Integration
Database Programming
Mobile Programming
Rapid Prototyping
Numeric and Scientific Programming
Special apps: Gaming, Images, Data Mining, Robots, Excel
Special hardware: Arduino, RaspberyPi, IPython for Lego
Πλεονεκτεί σε κάτι η Python;
Η Python είναι ευκολότερη στη χρήση από τις C γλώσσες και περισσότερο ευέλικτη.
Η ευελιξία οδηγεί σε βέλτιστη αξιοποίηση του χρόνου του προγραμματιστή για ανάπτυξη κώδικα. Επίσης η Python προσφέρει εύκολη σύνδεση με πολλές μεταφρασμένες βιβλιοθήκες (compiled libraries).
Χρόνος ανάπτυξης (προγραμματιστή) ακριβότερος: η Python επιτρέπει γρήγορη ανάπτυξη και μείωση αυτού του χρόνου.
Πόροι hardware φθηνότεροι και γρηγορότεροι (μνήμη,κλπ.): η Python αποτελεί καλή λύση όταν η διαχείριση των πόρων δεν είναι κρίσιμη ενώ προσφέρει πρακτικά αποδεκτό συμβιβασμό σε συνδυασμό με άλλες λύσεις (π.χ. compiled κώδικα όπου χρειάζεται υψηλή ταχύτητα, κλπ.).
Python 2.x & 3.x
Ο κόσμος της Python είναι …χωρισμένος στα δύο!
Η παλαιότερη έκδοση 2.x (διαθέσιμη η 2.7 από το 2016 - και μάλλον η τελευταία)
Η νεότερη έκδοση 3.x (σήμερα διαθέσιμη η 3.9)
Η 2.x έχειακόμη και σήμερα πολλές βιβλιοθήκες (libraries) για διάφορες εφαρμογές. Η 3.x είναι η εξέλιξη με περισσότερα ενσωματωμένα καινοτόμα χαρακτηριστικά. Όμως η μεταγραφή του κώδικα από τη 2 στην 3 (ή αντίστροφα) μπορεί να γίνει αυτόματα με κατάλληλα προγράμματα και όλο και περισσότερες βιβλιοθήκες προσφέρονται σε εκδόσεις συμβατές με την 3.
Python & Βιβλιοθήκες
Ένα χαρακτηριστικό της ισχύος της Python είναι πως έχουν αναπτυχθεί πολυάριθμες βιβλιοθήκες για κάθε είδους προγραμματιστική εργασία. Έτσι ο προγραμματιστής της Python για να κάνει μια συγκεκριμένη εργασία επιλέγει και εγκαθιστά και την αντίστοιχη βιβλιοθήκη (για την έκδοση της γλώσσας με την οποία εργάζεται). Π.χ.για τη διαχείριση της οθόνης, διαχείριση πολυμέσων και ανάπτυξη παιχνιδιών μια «κλασσική» βιβλιοθήκη είναι η Pygame.
A Byte of Python (ελληνική έκδοση)
![](https://www.google.com/images/icons/product/drive-32.png)