Προγραμματισμός

Τι είναι το Python; Ισχυρός, διαισθητικός προγραμματισμός

Χρονολογείται από το 1991, η γλώσσα προγραμματισμού Python θεωρήθηκε ένα κενό-γέμισμα, ένας τρόπος για να γράψετε σενάρια που "αυτοματοποιούν τα βαρετά πράγματα" (όπως ένα δημοφιλές βιβλίο για την εκμάθηση της Python το έθεσαν) ή σε πρωτότυπες εφαρμογές που θα εφαρμοστούν σε άλλες γλώσσες .

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

Σχετικό βίντεο: Πώς ο Python διευκολύνει τον προγραμματισμό

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

Τα βασικά πλεονεκτήματα της Python

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

Το Python είναι εύκολο να μάθει και να το χρησιμοποιήσει

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

Η Python υιοθετείται και υποστηρίζεται ευρέως

Η Python είναι τόσο δημοφιλής όσο και ευρέως χρησιμοποιούμενη, καθώς η υψηλή κατάταξη σε έρευνες όπως το Tiobe Index και ο μεγάλος αριθμός έργων GitHub που χρησιμοποιούν το Python πιστοποιούν. Το Python λειτουργεί σε κάθε σημαντικό λειτουργικό σύστημα και πλατφόρμα, και τα περισσότερα μικρότερα. Πολλές μεγάλες βιβλιοθήκες και υπηρεσίες που υποστηρίζονται από API διαθέτουν συνδέσεις ή περιτυλίγματα Python, επιτρέποντας στην Python να επικοινωνεί ελεύθερα με αυτές τις υπηρεσίες ή να χρησιμοποιεί απευθείας αυτές τις βιβλιοθήκες.

Η Python δεν είναι γλώσσα παιχνιδιού

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

Η Python συνεχίζει να κινείται προς τα εμπρός

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

Σε ποιες περιπτώσεις χρησιμοποιείται το Python

Η πιο βασική περίπτωση χρήσης για το Python είναι ως γλώσσα δέσμης ενεργειών και αυτοματισμού. Το Python δεν είναι απλώς αντικατάσταση για σενάρια κελύφους ή αρχεία δέσμης. Χρησιμοποιείται επίσης για την αυτοματοποίηση αλληλεπιδράσεων με προγράμματα περιήγησης ιστού ή GUI εφαρμογών ή για την παροχή συστήματος και διαμόρφωση σε εργαλεία όπως το Ansible και το Salt. Αλλά το σενάριο και ο αυτοματισμός αντιπροσωπεύουν μόνο την κορυφή του παγόβουνου με τον Python.

σολΕναλικός προγραμματισμός εφαρμογών με την Python

Μπορείτε να δημιουργήσετε εφαρμογές GUI γραμμής εντολών και πολλαπλών πλατφορμών με το Python και να τις αναπτύξετε ως αυτόνομα εκτελέσιμα. Η Python δεν έχει την εγγενή ικανότητα να δημιουργεί αυτόνομο δυαδικό από ένα σενάριο, αλλά πακέτα τρίτων όπως το cx_Freeze και το PyInstaller μπορούν να χρησιμοποιηθούν για να το επιτύχουν.

Επιστήμη δεδομένων και μηχανική μάθηση με την Python

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

Υπηρεσίες Ιστού και RESTful API στο Python

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

Μεταπρογραμματισμός και δημιουργία κώδικα στην Python

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

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

«Κωδικός κόλλας» στην Python

Η Python περιγράφεται συχνά ως «γλώσσα κόλλας», που σημαίνει ότι μπορεί να αφήσει τον διαφορετικό κώδικα (συνήθως βιβλιοθήκες με διεπαφές γλώσσας C) να λειτουργεί. Η χρήση του στην επιστήμη των δεδομένων και στη μηχανική μάθηση βρίσκεται σε αυτό το πνεύμα, αλλά αυτή είναι μόνο μια ενσάρκωση της γενικής ιδέας. Εάν διαθέτετε εφαρμογές ή τομείς προγράμματος που θέλετε να συνδέσετε, αλλά δεν μπορείτε να μιλήσετε απευθείας μεταξύ τους, μπορείτε να χρησιμοποιήσετε το Python για να τα συνδέσετε.

Όπου η Python υπολείπεται

Αξίζει επίσης να σημειωθεί ότι είναι τα είδη των καθηκόντων που είναι η Python δεν κατάλληλο για

Η Python είναι μια γλώσσα υψηλού επιπέδου, επομένως δεν είναι κατάλληλη για προγραμματισμό σε επίπεδο συστήματος - τα προγράμματα οδήγησης συσκευών ή οι πυρήνες λειτουργικού συστήματος είναι εκτός εικόνας.

Επίσης, δεν είναι ιδανικό για καταστάσεις που απαιτούν πολλαπλή πλατφόρμα μεμονωμένα δυαδικά αρχεία. Θα μπορούσατε να δημιουργήσετε μια αυτόνομη εφαρμογή Python για Windows, MacOS και Linux, αλλά όχι κομψά ή απλά.

Τέλος, η Python δεν είναι η καλύτερη επιλογή όταν η ταχύτητα είναι απόλυτη προτεραιότητα σε κάθε πτυχή της εφαρμογής. Για αυτό, είστε καλύτερα με το C / C ++ ή άλλη γλώσσα αυτού του διαμετρήματος.

Πώς η Python κάνει τον προγραμματισμό απλό

Η σύνταξη της Python προορίζεται να είναι ευανάγνωστη και καθαρή, με λίγη προσποίηση. Ένας τυπικός «γειά σου κόσμος» στο Python 3.x δεν είναι τίποτα άλλο από:

εκτύπωση ("Γεια σου κόσμος!")

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

με ανοιχτό («myfile.txt») ως my_file:

file_lines = [x.rstrip (‘\ n’) για x στο my_file]

ο με / ως η κατασκευή είναι ένα διαχειριστής περιβάλλοντος, ο οποίος παρέχει έναν αποτελεσματικό τρόπο για την παρουσίαση ενός αντικειμένου για ένα μπλοκ κώδικα και στη συνέχεια την απόρριψή του εκτός αυτού του μπλοκ. Σε αυτήν την περίπτωση, το αντικείμενο είναι my_file, τεκμηριωμένο με το Άνοιξε() λειτουργία. Αυτό αντικαθιστά πολλές γραμμές boilerplate για να ανοίξει το αρχείο, να διαβάσετε μεμονωμένες γραμμές από αυτό και μετά να το κλείσετε.

ο [x… για x στο my_file] κατασκευή είναι μια άλλη ιδιοσυγκρασία Python, το κατανόηση λίστας. Επιτρέπει σε ένα στοιχείο που περιέχει άλλα στοιχεία (εδώ, my_file και τις γραμμές που περιέχει) επαναλαμβάνεται και επιτρέπει σε κάθε επαναλαμβανόμενο στοιχείο (δηλαδή το καθένα Χ) να υποβληθεί σε επεξεργασία και να προσαρτηθεί αυτόματα σε μια λίστα.

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

Κατασκευές όπως αυτό επιτρέπουν στους προγραμματιστές της Python να ισορροπήσουν την ακεραιότητα και την αναγνωσιμότητα.

Τα άλλα χαρακτηριστικά γλώσσας της Python προορίζονται να συμπληρώσουν τις συνήθεις περιπτώσεις χρήσης. Οι περισσότεροι σύγχρονοι τύποι αντικειμένων - για παράδειγμα, συμβολοσειρές Unicode - είναι ενσωματωμένοι απευθείας στη γλώσσα. Δομές δεδομένων - όπως λίστες, λεξικά (δηλ. Κατακερματισμοί ή καταστήματα κλειδιών-τιμών), πλειάδες (για την αποθήκευση αμετάβλητων συλλογών αντικειμένων) και σύνολα (για την αποθήκευση συλλογών μοναδικών αντικειμένων) - διατίθενται ως αντικείμενα τυπικού ζητήματος.

Python 2 εναντίον Python 3

Το Python διατίθεται σε δύο εκδόσεις, οι οποίες είναι αρκετά διαφορετικές για να ανεβάζουν πολλούς νέους χρήστες. Το Python 2.x, ο παλαιότερος κλάδος «παλαιού τύπου», θα συνεχίσει να υποστηρίζεται (δηλαδή να λαμβάνει επίσημες ενημερώσεις) έως το 2020 και ενδέχεται να παραμείνει ανεπίσημα μετά από αυτό. Το Python 3.x, η τρέχουσα και η μελλοντική ενσάρκωση της γλώσσας, έχει πολλές χρήσιμες και σημαντικές δυνατότητες που δεν υπάρχουν στο Python 2.x, όπως νέες λειτουργίες σύνταξης (π.χ. ο «χειριστής walrus»), καλύτεροι έλεγχοι ταυτότητας και πολλά άλλα αποτελεσματικός διερμηνέας.

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

Οι βιβλιοθήκες της Python

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

Η τυπική βιβλιοθήκη της Python παρέχει λειτουργικές μονάδες για κοινές εργασίες προγραμματισμού - μαθηματικά, διαχείριση συμβολοσειρών, πρόσβαση σε αρχεία και καταλόγους, δικτύωση, ασύγχρονες λειτουργίες, κλωστές, διαχείριση πολλαπλών διεργασιών κ.ο.κ. Αλλά περιλαμβάνει επίσης ενότητες που διαχειρίζονται κοινές, υψηλού επιπέδου εργασίες προγραμματισμού που απαιτούνται από σύγχρονες εφαρμογές: ανάγνωση και σύνταξη δομημένων μορφών αρχείων όπως JSON και XML, χειρισμός συμπιεσμένων αρχείων, εργασία με πρωτόκολλα διαδικτύου και μορφές δεδομένων (ιστοσελίδες, διευθύνσεις URL, email). Οι περισσότεροι εξωτερικοί κώδικες που εκθέτουν μια διασύνδεση εξωτερικής λειτουργίας συμβατής με C μπορούν να έχουν πρόσβαση με το Python's τύποι μονάδα μέτρησης.

Η προεπιλεγμένη διανομή Python παρέχει επίσης μια στοιχειώδη, αλλά χρήσιμη, πολλαπλή πλατφόρμα GUI βιβλιοθήκης μέσω του Tkinter και ένα ενσωματωμένο αντίγραφο της βάσης δεδομένων SQLite 3.

Οι χιλιάδες βιβλιοθήκες τρίτων, που διατίθενται μέσω του Python Package Index (PyPI), αποτελούν την ισχυρότερη βιτρίνα για τη δημοτικότητα και την ευελιξία της Python.

Για παράδειγμα:

  • Η βιβλιοθήκη BeautifulSoup παρέχει μια εργαλειοθήκη all-in-one για την απόσυρση HTML - ακόμη και περίπλοκη, σπασμένη HTML - και την εξαγωγή δεδομένων από αυτήν.
  • Τα αιτήματα καθιστούν την εργασία με αιτήματα HTTP σε κλίμακα ανώδυνη και απλή.
  • Πλαίσια όπως το Flask και το Django επιτρέπουν την ταχεία ανάπτυξη διαδικτυακών υπηρεσιών που περιλαμβάνουν τόσο απλές όσο και προχωρημένες περιπτώσεις χρήσης.
  • Μπορείτε να διαχειριστείτε πολλές υπηρεσίες cloud μέσω του μοντέλου αντικειμένων της Python χρησιμοποιώντας το Apache Libcloud.
  • Οι NumPy, Pandas και Matplotlib επιταχύνουν τις μαθηματικές και στατιστικές λειτουργίες και διευκολύνουν τη δημιουργία οπτικοποιήσεων δεδομένων.

Οι συμβιβασμοί της Python

Όπως το C #, το Java και το Go, η Python έχει διαχείριση μνήμης που έχει συλλέξει σκουπίδια, πράγμα που σημαίνει ότι ο προγραμματιστής δεν χρειάζεται να εφαρμόσει κώδικα για την παρακολούθηση και την απελευθέρωση αντικειμένων. Κανονικά, η συλλογή απορριμμάτων πραγματοποιείται αυτόματα στο παρασκήνιο, αλλά αν αυτό δημιουργεί πρόβλημα απόδοσης, μπορείτε να το ενεργοποιήσετε χειροκίνητα ή να το απενεργοποιήσετε πλήρως ή να δηλώσετε ολόκληρες περιοχές αντικειμένων που εξαιρούνται από τη συλλογή απορριμμάτων ως βελτίωση της απόδοσης.

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

Η χρήση της Python σημαντικό κενό έχει αναφερθεί ως ένα από τα καλύτερα και χειρότερα χαρακτηριστικά της Python. Η εσοχή στη δεύτερη γραμμή παρακάτω δεν είναι μόνο για αναγνωσιμότητα. είναι μέρος της σύνταξης της Python. Οι διερμηνείς Python θα απορρίψουν προγράμματα που δεν χρησιμοποιούν την κατάλληλη εσοχή για να υποδείξουν τη ροή ελέγχου.

με ανοιχτό («myfile.txt») ως my_file:

file_lines = [x.rstrip (‘\ n’) για x στο my_file]

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

Μια άλλη πιθανή απόκλιση, ειδικά για όσους προέρχονται από γλώσσες όπως C ή Java, είναι ο τρόπος με τον οποίο η Python χειρίζεται τη μεταβλητή πληκτρολόγηση. Από προεπιλογή, η Python χρησιμοποιεί δυναμική ή "πάπια" πληκτρολόγηση - ιδανική για γρήγορη κωδικοποίηση, αλλά δυνητικά προβληματική σε μεγάλες βάσεις κώδικα. Τούτου λεχθέντος, η Python πρόσθεσε πρόσφατα υποστήριξη για προαιρετική υποδείξεις τύπου χρόνου μεταγλώττισης, έτσι ώστε έργα που μπορεί να επωφεληθούν από τη στατική πληκτρολόγηση να μπορούν να το χρησιμοποιήσουν.

Είναι αργή η Python; Οχι απαραίτητα

Μια κοινή προειδοποίηση για την Python είναι ότι είναι αργή. Αντικειμενικά, είναι αλήθεια. Τα προγράμματα Python εκτελούνται γενικά πολύ πιο αργά από τα αντίστοιχα προγράμματα σε C / C ++ ή Java. Ορισμένα προγράμματα Python θα είναι πιο αργά κατά σειρά μεγέθους ή περισσότερο.