Αξίζει να μάθετε python; Πεθαίνει η γλώσσα προγραμματισμού Python; Ποια πλαίσια είναι καλύτερα να χρησιμοποιηθούν για την ανάπτυξη ιστού;

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

Εκείνοι. πώς, προσωπικά μίλησα με πολλούς ανθρώπους που είχαν το δικό τους web project στην Python και έγραψαν εφαρμογές στο Kivy για να αιχμαλωτίσουν ένα μεγάλο κοινό, και μάλιστα το χρησιμοποίησαν, αλλά φαίνεται ότι «Ο προγραμματιστής γράφει ό,τι θέλει».

Μηχανική μάθηση και επιστήμη δεδομένων (επαρκής και πολλά υποσχόμενη)

Αυτή είναι μια από τις πιο δημοφιλείς περιοχές του σύγχρονου κόσμου της πληροφορικής, όπου η Python χρησιμοποιείται ως εργαλείο δοκιμών. Η Python έχει μια σειρά από εύχρηστες βιβλιοθήκες μηχανική μάθησηκαι επιστημονικοί υπολογισμοί: Pandas, NumPy, SciPy, Scikit-Learn, που σας επιτρέπουν να δημιουργείτε γρήγορα μοντέλα εργασίας. Και στην πραγματικότητα λειτουργούν αρκετά καλά.

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

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

Όσο για τις κενές θέσεις, όλα είναι αρκετά καλά, αλλά σε τέτοιες κενές θέσεις δεν απαιτείται η γνώση Python, αλλά το κεφάλι σου.

Για όσους θέλουν να αποκτήσουν γρήγορα μια αίσθηση αυτής της κατεύθυνσης, σας συμβουλεύω να διαβάσετε το βιβλίο: "Vvedenie_v_mashinnoe_obuchenie_s_pomoschyu_Python_-_A_Myuller_S_Gvido_2017" - είναι διαθέσιμο σε torrents, διαβάζεται γρήγορα, δίνει μια καλή ιδέα.

Απόξεση ιστού (πιθανή, αλλά αμφίβολη)

Η Python έχει τρία πράγματα που την καθιστούν πολύ αποτελεσματική στον τομέα του web scraping, τη βιβλιοθήκη Requests, το beautifulsoup και το Selenium API. Εάν συνδυάσετε βιβλιοθήκες για όραση υπολογιστών και μηχανική μάθηση εδώ, θα έχετε πολύ αποτελεσματικά εργαλεία.

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

Η περιοχή είναι ενδιαφέρουσα, αλλά υπάρχουν λίγα χρήματα σε αυτήν.

Υπολογιστική όραση (αμφισβητήσιμο)

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

GameDev (αμφίβολο)

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

Οσον αφορά πραγματική χρήση, τότε έχετε τρεις κινητήρες Kivy, PyGame, Panda3D, εάν οι δύο πρώτοι είναι πιο κατάλληλοι για έργα κατοικίδιων ζώων, τότε ο τρίτος χρησιμοποιήθηκε στην πραγματικότητα σε έργα μάχης καλής ποιότητας, αν και αυτά τα έργα ήταν από το 2004. Κάτι που φαίνεται να υπονοεί ότι η χρήση αποδεδειγμένων μηχανών σε άλλες γλώσσες όπως το Unity ή το Game Maker φαίνεται πιο πειστική.

Ωστόσο, ο κινητήρας Ren’Py μπαίνει κρυφά εδώ απαρατήρητος, ο οποίος ξαφνικά έγινε ο καλύτερος κινητήρας για τη συγγραφή εικαστικών μυθιστορημάτων (υποφέρουσες ιστορίες για κορίτσια), που αποδίδουν καλά ακόμη και στη Ρωσική Ομοσπονδία. Η σειρά «7 Δαιμονολόγοι του Μεγάλου Πέτρου» είναι απόδειξη αυτού.

Φυσικά, δεν υπάρχουν κενές θέσεις στο GameDev για python, αλλά μπορείτε να συγκεντρώσετε χρήματα σε μια "startup" με την κατάλληλη ικανότητα. Αλλά είναι ασφαλέστερο να χρησιμοποιείτε άλλη γλώσσα και αποδεδειγμένους κινητήρες.

Ανάπτυξη Ιστού (επαρκής και πολλά υποσχόμενη)

Η Python είναι μία από τις τρεις γλώσσες (Python, PHP, Ruby) που έχουν αναπτύξει οικοσυστήματα για την ταχεία ανάπτυξη web projects επαρκούς ποιότητας. Οι βασικές πλατφόρμες εδώ είναι:
  • Django (μονολιθικό σύγχρονο πλαίσιο)
  • Φιάλη (μικροσύγχρονο πλαίσιο)
  • Tornado (μονολιθικό ασύγχρονο πλαίσιο)
  • Twisted (μονολιθικό ασύγχρονο πλαίσιο)
  • Aiohttp (μικροασύγχρονο πλαίσιο)
ΣΕ επί του παρόντοςΤο μεγαλύτερο μέρος της αγοράς καταλαμβάνεται από το πλαίσιο Django, αλλά με την έλευση των ιδεών microservice, το Flask άρχισε σταδιακά να κερδίζει δυναμική. Όσο για την ασυγχρονία, όλα είναι περίπλοκα εδώ, αφού το Tornado και το Twisted θεωρούνται ξεπερασμένα (αν και πολλές εταιρείες δουλεύουν για αυτούς, όπως η Tinkov), και το aiohttp είναι πολύ χοντροκομμένο και η χρήση του αμφισβητείται.

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

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

Συμπεράσματα σχετικά με τη χρήση του python

1) Όσον αφορά τον τομέα του devops και του testing, η Python είναι βασικό εργαλείο του επαγγέλματος, το οποίο είναι υποχρεωτικό για κάθε επαρκή ειδικό. Python σε σε αυτήν την περίπτωσηΔεν διδάσκουν, έρχονται σε αυτόν από ανάγκη.

2) Οι πιο υποσχόμενοι τομείς μοιάζουν με την ανάπτυξη ιστού και τη μηχανική μάθηση (analytics), που ξεχωρίζουν ξεκάθαρα την Python από τους ανταγωνιστές της με τη μορφή PHP και Ruby. Και αν θέλετε να μάθετε Python, τότε καλό είναι να εστιάσετε σε αυτούς τους τομείς και να μην χάνετε τον χρόνο σας σε οτιδήποτε άλλο. Υπάρχουν κενές θέσεις για αυτό και μπορείτε να δημιουργήσετε μια startup πάνω σε αυτό.

3) Όλοι οι άλλοι τομείς, αν και προσφέρουν ορισμένα εργαλεία για την επίλυση προβλημάτων, οι προοπτικές χρήσης αυτών των εργαλείων φαίνονται πολύ αμφίβολες. Και το πιο σημαντικό, η εύρεση αμειβόμενης εργασίας σε αυτούς τους τομείς είναι σχεδόν αδύνατη.

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

1. Ανάπτυξη Ιστού

Πλαίσια που βασίζονται σε Python όπως DjangoΚαι Φλάσκα, V Πρόσφαταέχουν κερδίσει μεγάλη δημοτικότητα μεταξύ των προγραμματιστών ιστού. Αυτά τα πλαίσια σάς επιτρέπουν να δημιουργείτε κώδικα από την πλευρά του διακομιστή (backend code) στην Python που εκτελείται στον διακομιστή, σε αντίθεση με τον κώδικα frontend που εκτελείται σε συσκευές χρήστηκαι σε προγράμματα περιήγησης.

Σε τι χρησιμεύουν τα πλαίσια web;

Τα πλαίσια Web απλοποιούν την ανάπτυξη της λογικής από την πλευρά του διακομιστή: επεξεργασία διευθύνσεων URL, πρόσβαση σε βάσεις δεδομένων, δημιουργία αρχείων HTML που βλέπουν οι χρήστες στα προγράμματα περιήγησης.

Ποια πλαίσια είναι καλύτερα να χρησιμοποιηθούν για την ανάπτυξη ιστού;

Τα δύο πιο δημοφιλή διαδικτυακά πλαίσια για την Python είναι το Django και το Flask. Συνιστώνται για αρχάριους προγραμματιστές.

Ποια είναι η διαφορά μεταξύ Django και Flask

Ετοίμασα ένα εξαιρετικό άρθρο ως απάντηση σε αυτήν την ερώτηση. Γκάρεθ Ντουάιερ.

Βασικές διαφορές:

  • Το Flask είναι ένα απλό και ευέλικτο πλαίσιο με πολύ λεπτομερείς ρυθμίσεις. Ο χρήστης μπορεί να αποφασίσει μόνος του πώς θα εφαρμόσει ορισμένα πράγματα.
  • Το Django παρέχει πλήρη λειτουργικότητα για την ανάπτυξη εφαρμογών αμέσως: μια ενσωματωμένη διεπαφή διαχειριστή, Πρόσβαση στο APIσε βάσεις δεδομένων, ORM και δομές καταλόγου για εφαρμογές και έργα.

Είναι καλύτερα να χρησιμοποιήσετε:

  • Φιάλη εάν ο στόχος του προγραμματιστή είναι η εμπειρία και οι ευκαιρίες μάθησης ή εάν χρειάζεται να επιλέξει ανεξάρτητα ποια στοιχεία θα χρησιμοποιήσει (για παράδειγμα, ποιες βάσεις δεδομένων θα χρησιμοποιήσει ή πώς να αλληλεπιδράσει με αυτά).
  • Django, αν το κύριο πράγμα είναι το τελικό προϊόν. Ειδικά αν χρειάζεται να δημιουργήσετε μια διαισθητική εφαρμογή, για παράδειγμα, έναν ιστότοπο ειδήσεων, ένα ηλεκτρονικό κατάστημα, ένα blog, στο οποίο ο χρήστης μπορεί εύκολα να πλοηγηθεί.

Επομένως, το Flask είναι προτιμότερο να χρησιμοποιείται για αρχάριους, επειδή αυτό το πλαίσιο δεν έχει τόσο πλούσια λειτουργικότητα, καθώς και για όσους εκτιμούν τη δυνατότητα προσαρμογής του κατά την κρίση τους. Επιπλέον, λόγω της ευελιξίας του, το Flask είναι πιο κατάλληλο από το Django για την ανάπτυξη REST API. Από την άλλη πλευρά, αν χρειαστεί να δημιουργήσετε ένα απλό προϊόν, θα είναι πιο γρήγορο να το κάνετε με το Django.

2. Επεξεργασία δεδομένων (συμπεριλαμβανομένης της μηχανικής μάθησης, της ανάλυσης δεδομένων και της οπτικοποίησης)

Τι είναι η μηχανική μάθηση

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

Στη δεύτερη, θα πρέπει να αναγνωρίσει το τραπέζι.

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

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

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

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

  • συστήματα αναγνώριση προσώπου,
  • συστήματα αναγνώρισης φωνής,
  • συστήματα συστάσεων ιστότοπων όπως το YouTube, το Amazon ή το Netflix.

Οι πιο ευρέως γνωστοί αλγόριθμοι μηχανικής μάθησης είναι:

  • νευρωνικά δίκτυα,
  • βαθιά μάθηση,
  • μηχάνημα φορέα υποστήριξης,
  • «τυχαίο δάσος».

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

Python για τη μηχανική μάθηση

Υπάρχουν δημοφιλείς βιβλιοθήκες μηχανικής εκμάθησης και πλαίσια για την Python. Τα δύο μεγαλύτερα από αυτά είναι scikit-μαθαίνωΚαι TensorFlow. Το scikit-learn έρχεται ενσωματωμένο με μερικούς από τους γνωστούς αλγόριθμους μηχανικής μάθησης που συζητήθηκαν παραπάνω. Το TensorFlow είναι μια βιβλιοθήκη χαμηλότερου επιπέδου που σας επιτρέπει να δημιουργήσετε προσαρμοσμένους αλγόριθμους.

Πώς να μάθετε Μηχανική Μάθηση

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

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

Ανάλυση Δεδομένων και Οπτικοποίηση Δεδομένων

Ως παράδειγμα, μπορούμε να πάρουμε έναν αναλυτή δεδομένων για μια φανταστική εταιρεία που πουλά αγαθά μέσω Διαδικτύου. Ένας αναλυτής μπορεί να παρουσιάσει τα αποτελέσματα των πωλήσεων σε ραβδόγραμμα.

Το γράφημα δείχνει ότι μια δεδομένη Κυριακή, οι άνδρες αγοραστές αγόρασαν περισσότερες από 400 μονάδες του προϊόντος και οι γυναίκες αγόρασαν περίπου 350. Ένας ειδικός μπορεί να έχει πολλές εικασίες ως προς το γιατί προέκυψε αυτό το κενό.

Μια προφανής εξήγηση είναι ότι το προϊόν έχει μεγαλύτερη ζήτηση στους άνδρες παρά στις γυναίκες. Αλλα πιθανός λόγος— το δείγμα δεν είναι αρκετά μεγάλο και η διαφορά μπορεί να αποδοθεί στην τύχη. Η τρίτη επιλογή είναι ότι για κάποιο λόγο οι άνδρες τείνουν να αγοράζουν αυτό το προϊόν περισσότερο μόνο την Κυριακή. Για να καταλάβετε ποια εξήγηση είναι αληθινή, μπορείτε να σχεδιάσετε ένα άλλο διάγραμμα.

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

Αλλά αν το διάγραμμα έμοιαζε έτσι,

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

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

Ανάλυση Δεδομένων και Οπτικοποίηση σε Python

Η Matplotlib είναι μια από τις πιο κοινές βιβλιοθήκες για οπτικοποίηση δεδομένων. Είναι καλύτερο να ξεκινήσετε γιατί είναι απλό, αλλά και επειδή σε αυτό βασίζονται κάποιες άλλες βιβλιοθήκες, όπως η seaborn. Επομένως, η γνώση του Matplotlib θα σας βοηθήσει να τα κατακτήσετε στο μέλλον.

Πώς να μάθετε την ανάλυση και την οπτικοποίηση δεδομένων στην Python

Πρώτα απ 'όλα, πρέπει να μάθετε τα βασικά. Ο Ek Sugi προσφέρει το δικό του εισαγωγικό βίντεο στην ανάλυση και οπτικοποίηση δεδομένων σε Python και Matplotlib στο YouTube, καθώς και ένα πλήρες μάθημα πρακτικής άσκησης στην εκπαιδευτική πλατφόρμα Pluralsight, το οποίο είναι δωρεάν με 10ήμερη συνδρομή δοκιμαστική περίοδοςΣε σύνδεση. Μετά από αυτό, είναι χρήσιμο να μελετήσετε τα βασικά στοιχεία της στατιστικής, για παράδειγμα στο Coursera και στο Khan Academy.

3. Συγγραφή σεναρίων

Τι είναι το σενάριο

Αυτό συνήθως σημαίνει τη δημιουργία μικρών προγραμμάτων για αυτοματισμό απλές εργασίες. Για παράδειγμα, οι εταιρείες χρησιμοποιούν διάφορα συστήματαυποστήριξη πελατών ΗΛΕΚΤΡΟΝΙΚΗ ΔΙΕΥΘΥΝΣΗ. Για να αναλύσουν τα μηνύματα που λαμβάνονται, οι εταιρείες πρέπει να μετρήσουν πόσα από αυτά περιέχουν συγκεκριμένες λέξεις-κλειδιά.

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

Python και ενσωματωμένες εφαρμογές

Πολλοί προγραμματιστές για το Raspberry Pi και άλλο υλικό χρησιμοποιούν αυτήν τη γλώσσα για να προγραμματίσουν.

Python και παιχνίδια στον υπολογιστή

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

Για παράδειγμα, μπορείτε να ξεκινήσετε με το Unity σε C# - αυτό είναι ένα από τα πιο γνωστά περιβάλλοντα ανάπτυξης παιχνίδια στον υπολογιστή. Σας επιτρέπει να δημιουργείτε παιχνίδια πολλαπλών πλατφορμών για Windows, Mac, iOS και Android.

Εφαρμογές Python και desktop

Οι εφαρμογές για επιτραπέζιους υπολογιστές μπορούν να αναπτυχθούν σε Python χρησιμοποιώντας το Tkinter, αλλά αυτό δεν είναι και το καλύτερο συχνή επιλογή: Προτιμούν οι προγραμματιστές εφαρμογών για υπολογιστή Γλώσσες Java, C# και C++. Πρόσφατα, ορισμένες εταιρείες άρχισαν να χρησιμοποιούν JavaScript για αυτό. Για παράδειγμα, η εφαρμογή επιτραπέζιου υπολογιστή Slack είναι ενσωματωμένη στο πλαίσιο Electron, το οποίο χρησιμοποιεί JavaScript. Αυτή η γλώσσα καθιστά δυνατή την επαναχρησιμοποίηση κώδικα από την έκδοση web της εφαρμογής, εάν είναι διαθέσιμη.

Python 3 ή Python 2

Είναι καλύτερα να επιλέξετε την Python 3, γιατί σήμερα είναι μια πιο σύγχρονη και πιο δημοφιλής έκδοση της γλώσσας.

3 απαντήσεις

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

  • Πύθων δυναμικά printed: αυτό σημαίνει ότι δεν δηλώνετε έναν τύπο (όπως "ακέραιος") για ένα όνομα μεταβλητής και στη συνέχεια εκχωρείτε κάτι από αυτόν τον τύπο (και μόνο αυτόν τον τύπο). Αντίθετα, έχετε ονόματα μεταβλητών και τις συνδέετε σε αντικείμενα των οποίων ο τύπος παραμένει στην ίδια την οντότητα. Το a = 5 κάνει το όνομα της μεταβλητής a αναφορά στον ακέραιο αριθμό 5. Αργότερα, το a = "hello" κάνει το όνομα της μεταβλητής a αναφορά στη συμβολοσειρά που περιέχει "hello". Οι στατικές πληκτρολογημένες γλώσσες θα μπορούσαν να δηλώσουν int a και μετά a = 5, αλλά η εκχώρηση a = "hello" θα ήταν σφάλμα μεταγλώττισης. Από τη μια, αυτό κάνει τα πάντα πιο απρόβλεπτα (δεν ξέρεις σε τι αναφέρεται το α). Από την άλλη πλευρά, είναι πολύ εύκολο να επιτευχθούν κάποια αποτελέσματα που οι στατικές γλώσσες δακτυλογράφησης δυσκολεύουν πολύ.
  • Πύθων έντονα δακτυλογραφημένο. Αυτό σημαίνει ότι εάν a = "5" (μια συμβολοσειρά της οποίας η τιμή είναι "5") θα παραμείνει μια συμβολοσειρά και δεν θα εξαναγκαστεί ποτέ σε έναν αριθμό εάν το απαιτεί το περιβάλλον. Κάθε μετατροπή τύπου σε python πρέπει να γίνεται ρητά. Αυτό διαφέρει, για παράδειγμα, από το Perl ή το Javascript, όπου έχετε αδύναμη εισαγωγή κειμένου και μπορείτε να γράψετε πράγματα όπως "γεια" + 5 για να λάβετε "hello5" .
  • Πύθων αντικειμενοστραφής, με κληρονομικότητα βάσει τάξης. Όλα είναι ένα αντικείμενο (συμπεριλαμβανομένων κλάσεων, συναρτήσεων, λειτουργικών μονάδων κ.λπ.) με την έννοια ότι μπορούν να περάσουν ως ορίσματα, να έχουν μεθόδους και ιδιότητες κ.λπ.
  • Πύθων πολλαπλών χρήσεων: Δεν ειδικεύεται σε συγκεκριμένο στόχο χρήστη (όπως R για στατιστικά ή PHP για προγραμματισμό ιστού). Επεκτείνεται μέσω ενοτήτων και βιβλιοθηκών που συνδέονται στη γλώσσα προγραμματισμού C πολύ εύκολα.
  • Η Python παρέχει το σωστό εσοχήκώδικα με εσοχή στη σύνταξη. Δεν υπάρχουν κουίζ στην Python άγκιστρα. Τα μπλοκ κώδικα αναγνωρίζονται από το επίπεδο εσοχής τους. Παρόλο που πολλοί προγραμματιστές δεν το έχουν συνηθίσει, είναι πολύ πολύτιμο, καθώς δίνει ένα πολύ συνεπές στυλ και παράγει κώδικα που είναι οπτικά ευχάριστος στην ανάγνωση.
  • Ο κώδικας μεταγλωττίζεται σε κωδικός byteκαι στη συνέχεια εκτελέστηκε στις εικονική μηχανή. Αυτό σημαίνει ότι ο προμεταγλωττισμένος κώδικας είναι φορητός μεταξύ των πλατφορμών.

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

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

  • Εύκολο στην ανάγνωση και εύκολο στην εκμάθηση
  • Πολύ παραγωγικά ή μικρά καθώς και μεγάλα έργα
  • Μεγάλες βιβλιοθήκες για πολλά πράγματα

Σε τι χρησιμεύει η γλώσσα προγραμματισμού Python;

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

Ανάπτυξη διαδικτύου:

Μπορείτε να χρησιμοποιήσετε την Python για να δημιουργήσετε εφαρμογές Ιστού σε πολλά επίπεδα πολυπλοκότητας. Υπάρχουν πολλά εξαιρετικά διαδικτυακά πλαίσια Python, συμπεριλαμβανομένων των Pyramid, Django και Flask, για να αναφέρουμε μερικά.

Ανάλυση δεδομένων:

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

Μηχανική μάθηση:

Τι θα γινόταν αν μπορούσατε να προβλέψετε την ικανοποίηση των πελατών ή να αναλύσετε ποιοι παράγοντες θα επηρεάσουν την τιμή των νοικοκυριών ή να προβλέψετε τις μετοχές τις επόμενες ημέρες με βάση δεδομένα προηγούμενων ετών; Υπάρχουν πολλές εξαιρετικές βιβλιοθήκες που εφαρμόζουν αλγόριθμους μηχανικής μάθησης, όπως Scikit-Learn, NLTK και TensorFlow.

Υπολογιστική όραση:

Μπορείτε να κάνετε πολλά ωραία πράγματα, όπως ανίχνευση προσώπου, ανίχνευση χρωμάτων χρησιμοποιώντας Opencvκαι Python.

Διαδίκτυο για πράγματα με το Raspberry Pi:

Raspberry Pi - πολύ μικρό και προσβάσιμος υπολογιστής, που σχεδιάστηκε για εκπαίδευση και έχει κερδίσει τεράστια δημοτικότητα μεταξύ των χομπίστων με σπιτικό υλικό και αυτοματισμό. Μπορείτε ακόμη να φτιάξετε ένα ρομπότ και να αυτοματοποιήσετε ολόκληρο το σπίτι σας. Το Raspberry Pi μπορεί να χρησιμοποιηθεί ως ο εγκέφαλος για να εκτελέσει το ρομπότ σας διάφορες δράσειςκαι/ή απαντήστε σε περιβάλλον. Η κωδικοποίηση σε ένα Raspberry Pi μπορεί να γίνει με χρησιμοποιώντας Python. Οι πιθανότητες είναι ατελείωτες!

Ανάπτυξη παιχνιδιού:

Δημιουργήστε ένα βιντεοπαιχνίδι χρησιμοποιώντας τη μονάδα Pygame. Βασικά, χρησιμοποιείτε Python για να γράψετε τη λογική του παιχνιδιού. Οι εφαρμογές PyGame μπορούν να εκτελούνται σε συσκευές Android.

Ξύστρα Ιστού:

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

Συγγραφή σεναρίων:

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

Αυτοματοποίηση προγράμματος περιήγησης:

Κάντε μερικά προσεγμένα πράγματα, όπως το άνοιγμα του προγράμματος περιήγησης και τη δημοσίευση Κατάσταση στο Facebook, μπορείτε να το κάνετε αυτό χρησιμοποιώντας το Selenium με την Python.

Ανάπτυξη γραφικής διεπαφής:

Δημιουργώ γραφική εφαρμογή (εφαρμογή επιφάνειας εργασίας), χρησιμοποιώντας Python Tkinter, PyQt modules για υποστήριξη.

Ταχεία προτυποποίηση:

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

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

Ποια προγράμματα είναι γραμμένα στην Python;

Λογισμικό εφαρμογής για κανονικούς ανθρώπους

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

BitTorrent

Όλες οι εκδόσεις έως και 6 αυτού του προγράμματος-πελάτη torrent γράφτηκαν σε Python. Η έκδοση 6 ξαναγράφηκε σε C++.

Κέντρο Λογισμικού Ubuntu

Απόσπασμα από τη Wikipedia:
Κέντρο Εφαρμογές Ubuntu (Αγγλικά) Κέντρο Λογισμικού Ubuntu) είναι δωρεάν λογισμικό για την εύρεση, εγκατάσταση και αφαίρεση πακέτων σε ένα σύστημα Ubuntu Linux. V πιο πρόσφατες εκδόσειςΜπορείτε να αγοράσετε περιοδικά σχετικά με το Linux και το Ubuntu, μπορείτε επίσης να αγοράσετε παιχνίδια και λογισμικό επί πληρωμή. Η εφαρμογή έχει αναπτυχθεί σε Python + Vala χρησιμοποιώντας βιβλιοθήκες GTK+ και είναι ένα γραφικό κέλυφος για το Advanced Packaging Tool.

Μίξερ

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

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

Ακολουθούν μερικές σελίδες τεκμηρίωσης:

ΣΕΙΡΗΤΙ

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

Παιχνίδια

Πολιτισμός IV

Το μεγαλύτερο μέρος του παιχνιδιού είναι γραμμένο σε Python().

Πεδίο μάχης 2

Υπάρχουν πολλά σχολικά βιβλία και απλές συνταγές στο Διαδίκτυο για αλλαγή διάφορα αντικείμενακαι τη συμπεριφορά τους.

Ο κόσμος των τανκ

Παράθεση από το άρθρο "GUI στο παιχνίδι World of Tanks":
Η Python χρησιμοποιείται ως γλώσσα σεναρίου στο έργο. Όλη η ομορφιά που δημιουργήσαμε στο Flash πρέπει να συνδεθεί στο παιχνίδι, να γεμίσει με δεδομένα, να υποστεί επεξεργασία και να μεταφραστεί σε πραγματικές ενέργειες στο παιχνίδι. Όλα αυτά γίνονται στην Python.
Περισσότερο πλήρης λίσταπαιχνίδια που χρησιμοποιούν Python μπορούν να βρεθούν στη Wikipedia και στην τεκμηρίωση της Python.

Ποιες εταιρείες χρησιμοποιούν Python;

Η λίστα των εταιρειών που χρησιμοποιούν Python είναι μεγάλη. Μεταξύ αυτών είναι η Google, Facebook, Yahoo , NASA , Red Hat , IBM , Ινσταγκραμ , Dropbox, Pinterest, Quora, Yandex, Mail.Ru.

Yandex

Εδώ πηγαίνετε, η αναφορά "Python στον πυρήνα του Yandex.Disk". Sergey Ivashchenko (ομιλητής):
Θα μιλήσω για το πώς χρησιμοποιούμε την Python στο Yandex.Disk, ποιες βιβλιοθήκες και πλαίσια χρησιμοποιούμε, ποιες εργασίες επιλύουμε και ποια προβλήματα αντιμετωπίζουμε. Θα θίξω επίσης το θέμα της καταγραφής και επεξεργασίας ασύγχρονων λειτουργιών.
Σε ένα από τα βίντεο στο κανάλι Yandex, οι εργαζόμενοι μίλησαν για τις αγαπημένες τους γλώσσες.

Και στο ιστολόγιο της εταιρείας Yandex υπάρχει μια καταχώρηση "Ποιες γλώσσες προγραμματισμού γράφονται στο Yandex" με ημερομηνία 19 Μαρτίου 2014. Έτσι, το 13% των εργαζομένων της Yandex γράφουν τον περισσότερο χρόνο εργασίας τους στην Python.

Mail.ru

Οι υπάλληλοι του Mail.ru χρησιμοποιούν επίσης Python. ΣΕ επίσημο ιστολόγιοΤο Mail.ru στο Habré έχει πολλά άρθρα σχετικά με την Python:

Google

Η Google χρησιμοποιεί ενεργά την Python από την ίδρυσή της. Υπάρχουν φήμες ότι το μεγαλύτερο μέρος του YouTube και Google Driveγραμμένο σε Python. Η Google έχει αναπτύξει μια ολόκληρη πλατφόρμα cloud Εφαρμογή GoogleΜηχανή ώστε οι προγραμματιστές να μπορούν να εκτελούν κώδικα Python Google cloud. Πολλοί προγραμματιστές γλωσσών έχουν εργαστεί και εργάζονται στην Google.

DropBox

Η υπηρεσία έχει αναπτυχθεί σε Python. Δεν είναι τυχαίο ότι ο συγγραφέας της γλώσσας Python, Guido van Rossum, εργάζεται στο DropBox.

Άλλες εταιρείες

Οι οργανισμοί που χρησιμοποιούν Python

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

Ανάπτυξη διαδικτύου

Σε αυτό Περιοχές Python, είναι ίσως το πιο χρησιμοποιημένο. Το πλαίσιο ιστού Django συνεχίζει να κερδίζει δυναμική, διευρύνοντας τον στρατό των θαυμαστών του. Πολλοί αρχάριοι προγραμματιστές πιστεύουν ότι η Python δεν χρησιμοποιείται πουθενά αλλού. Αλλά πολλά άλλα πλαίσια web είναι γραμμένα σε Python: Pylons TurboGears , CherryPy, Flask, Pyramid και άλλα. Μπορείτε να βρείτε μια πιο πλήρη λίστα.
Υπάρχει επίσης ένα CMS που βασίζεται στο Django, που ονομάζεται DjangoCMS.
Πολύ συχνά, οι αναλυτές ιστοτόπων γράφονται σε Python. Τυπικά Requests, aiohttp, BeautifulSoup, html5lib χρησιμοποιούνται για αυτό. Υπάρχουν επίσης εργαλεία υψηλότερου επιπέδου για ανάλυση ιστοτόπων: Scrapy, Grab.

Διαχείριση συστήματος

Η Python είναι μια εξαιρετική γλώσσα για την αυτοματοποίηση της εργασίας διαχειριστής συστήματος. Είναι εγκατεστημένο από προεπιλογή σε όλους τους διακομιστές Linux. Είναι απλό και κατανοητό. Ο κώδικας Python διαβάζεται εύκολα. Μερικοί λατρεύουν την Perl, την αγαπώ κι εγώ άνετη δουλειάμε κανονικές εκφράσεις, αλλά μισώ την Perl για τη σύνταξή της. Το Bash είναι χρήσιμο για σχετικά μικρού έως μεσαίου μεγέθους σενάρια, αλλά η Python είναι πιο ισχυρή και σε ορισμένες περιπτώσεις σας επιτρέπει να γράφετε πολύ λιγότερο κώδικα.
Το μόνο πακέτο που γνωρίζω είναι το Fabric. Ίσως υπάρχει κάτι άλλο, γράψτε μου στα σχόλια αν γνωρίζετε.

Επιπλέον πληροφορίες

Python για διαχειριστές συστήματος (IBM developerWorks)
Τεκμηρίωση υφάσματος. Διαχείριση Συστημάτων.

Ενσωματωμένα συστήματα

Η Python χρησιμοποιείται πολύ συχνά για τον προγραμματισμό ενσωματωμένων συστημάτων. Πλέον διάσημο έργοπου χρησιμοποιεί Python είναι το Raspberry Pi. Δεν είναι όμως ο μόνος:
Ενσωματωμένη Python
Raspberry Pi
Python Embedded Tools
Το ενσωματωμένο σύστημα Python Owl

Ανάπτυξη λογισμικού εφαρμογών, συμπεριλαμβανομένων παιχνιδιών

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

Επιστημονική έρευνα

Οι φυσικοί και οι μαθηματικοί αγαπούν την Python για την απλότητά της. Επιπλέον, για την Python υπάρχει μεγάλο ποσόβιβλιοθήκες που κάνουν τη ζωή πιο εύκολη για έναν επιστήμονα. Για παράδειγμα:
  1. SciPy- Αυτό ανοιχτή βιβλιοθήκηεπιστημονικά εργαλεία υψηλής ποιότητας για τη γλώσσα προγραμματισμού Python. Το SciPy περιέχει ενότητες για βελτιστοποίηση, ολοκλήρωση, ειδικές λειτουργίες, επεξεργασία σήματος, επεξεργασία εικόνας, γενετικούς αλγόριθμους, επίλυση συνηθισμένων διαφορικών εξισώσεων και άλλα προβλήματα που συνήθως επιλύονται στην επιστήμη και τη μηχανική.
  2. Matplotlib- μια βιβλιοθήκη στη γλώσσα προγραμματισμού Python για οπτικοποίηση δεδομένων με δισδιάστατα (2D) γραφικά (υποστηρίζονται επίσης γραφικά 3D). Οι εικόνες που προκύπτουν μπορούν να χρησιμοποιηθούν ως εικονογραφήσεις σε δημοσιεύσεις.
  3. NumPyείναι μια επέκταση της γλώσσας Python που προσθέτει υποστήριξη για μεγάλους πολυδιάστατους πίνακες και πίνακες, μαζί με μια μεγάλη βιβλιοθήκη υψηλού επιπέδου μαθηματικές συναρτήσειςγια λειτουργίες με αυτούς τους πίνακες.
Μια πιο ολοκληρωμένη λίστα βιβλιοθηκών για επιστημονικούς υπολογισμούς στην Python μπορεί να βρεθεί στη Wikipedia.

Εκπαίδευση

Η Python συχνά συνιστάται ως η πρώτη γλώσσα προγραμματισμού.
Ορισμένα ρωσικά σχολεία έχουν επιτυχημένη εμπειρίαδιδασκαλία προγραμματισμού σε μαθητές σε Python.
Παρεμπιπτόντως, ο Guido van Rossum εντυπωσιάστηκε από τη γλώσσα ABC όταν έγραψε την Python. Και η γλώσσα ABC προοριζόταν για εκπαίδευση και δημιουργία πρωτοτύπων.

Κριτική της γλώσσας Python

Η Python είναι μια από τις πιο αργές γλώσσες προγραμματισμού

Στο Διαδίκτυο μπορείτε να βρείτε πολλά διαφορετικά τεστ ταχύτητας για προγράμματα γραμμένα διαφορετικές γλώσσεςπρογραμματισμός. Η Python είναι συνήθως στο τέλος των λιστών.
Συνήθως, η Python αναφέρεται στο CPython, την υλοποίηση αναφοράς της γλώσσας. Υπάρχουν και άλλες υλοποιήσεις της γλώσσας Python, όπως η PyPy. Η PyPy είναι ταχύτερη από την CPython και πολλές άλλες γλώσσες προγραμματισμού δέσμης ενεργειών και είναι πολύ κοντά στην Java σε ταχύτητα. Αλλά υπάρχει ένα πρόβλημα - η PyPy δεν υλοποιεί πλήρως τη γλώσσα Python, εξαιτίας αυτού, πολλά προγράμματα Python δεν λειτουργούν σε αυτήν.
Πολλοί προγραμματιστές γράφουν ένθετα σε C/C++ για να επιταχύνουν την εργασία τους συμφόρηση. Η Python δεν προορίζεται για υπολογιστικές εργασίες, για εργασίες που απαιτούν πολλή μνήμη (memory bound) και παρόμοια. Πρέπει να είστε σε θέση να επιλέξετε τα σωστά εργαλεία για τις εργασίες που αντιμετωπίζετε. Ο Guido van Rossum μιλά για αυτό σε συνέντευξή του.

Το GIL αποτρέπει την ταυτόχρονη εκτέλεση πολλαπλών νημάτων

Το Global Interpreter Lock αποτρέπει την ταυτόχρονη εκτέλεση πολλαπλών νημάτων Python. Αυτά είναι χαρακτηριστικά του CPython. Είναι όμως αυτό μειονέκτημα; Πρέπει να καταλάβετε ότι όλα εξαρτώνται από την εργασία. Εάν η εργασία σας εξαρτάται από την ταχύτητα εισόδου/εξόδου (εργασία δεσμευμένη με IO), τότε είναι πιο αποτελεσματικό να χρησιμοποιείτε πολλές διεργασίες που θα λειτουργούν σε ασύγχρονη λειτουργίαμε εξωτερικούς πόρους. Και οι ροές από κοινή μνήμηκαλό για υπολογιστικές εργασίες (με CPU). Αλλά ακόμα κι αν χρειαστεί να εργαστείτε με νήματα, μπορείτε να απενεργοποιήσετε το GIL για λίγο, καθώς αυτό γίνεται σε πακέτο μαθηματικών NumPy.

Δεν υπάρχουν καλά εργαλεία διανομής

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

Επιπλέον πληροφορίες

Ιστορίες επιτυχίας Python
Χρησιμοποιήσατε την Python για να γράψετε ΤΙ;
Σε τι χρησιμοποιείται η Python;
Περισσότερες αποδείξεις ότι είναι ο κόσμος της Python και απλώς ζούμε σε αυτόν
ΜΕΣΟΣ ΜΙΣΘΟΣ ΓΙΑ ΕΡΓΑΣΙΕΣ ΠΟΥ ΑΠΑΙΤΟΥΝ PYTHON
Λίστα λογισμικού Python

Μερικές φορές με επισκέπτονται διαφορετικές ιδέεςστην αυτοανάπτυξη. Αυτές είναι τελείως διαφορετικές σκέψεις για το τι πρέπει να κατακτήσω, τι πρέπει να μάθω, τι πρέπει να καταλάβω. Και σε μια από αυτές τις στιγμές, σκέφτηκα να μάθω προγραμματισμό. Ξεκίνησα με τη γλώσσα Pascal, που ήταν δημοφιλής εκείνη την εποχή, και τώρα, έχοντας ήδη μελετήσει περίπου 3 γλώσσες, άρχισα να σκέφτομαι, αξίζει να μάθω Python;

Από αυτό το άρθρο θα μάθετε:

Εγώ, ο Gridin Semyon, καλωσορίζω όλους τους αναγνώστες του blog μου kip-world. Σκέφτεστε να αρχίσετε να μαθαίνετε προγραμματισμό εδώ και πολύ καιρό; Ίσως σκέφτεστε πώς να επιλέξετε μια γλώσσα προγραμματισμού για να ξεκινήσετε;

Ή ίσως απλά φοβάστε να ξεκινήσετε; Ή είστε απλώς ένα άτομο που έπεσε κατά λάθος στο άρθρο μου; Σε κάθε περίπτωση, εδώ θα βρείτε απαντήσεις σε κάποιες απορίες σας!

Σε οποιαδήποτε από τις παραπάνω περιπτώσεις θέλω να σας ρωτήσω τα περισσότερα σημαντικό ερώτημα: Ποια προβλήματα θα λύσετε χρησιμοποιώντας αυτήν ή εκείνη τη γλώσσα;

Έχω συντάξει ένα μικρό «μικρο-άρθρο» για να σκεφτείτε.

Αξίζει να μάθετε Python;

Νομίζω ότι δεν είναι μυστικό για κανέναν ότι κυριολεκτικά πριν από 5-6 χρόνια, η πρώτη γλώσσα που σπούδασε προγραμματισμό σε οποιοδήποτε σχολείο ήταν η Pascal. Η Pascal είναι μια υπέροχη γλώσσα της εποχής της, αλλά, δυστυχώς ή ευτυχώς, έχει ξεπεράσει τη χρησιμότητά της και είναι πλέον η πρώτη γλώσσα προγραμματισμού έξυπνη επιλογήγια κάθε αρχάριο προγραμματιστή!

Μπορεί τώρα να αναρωτιέστε: «Γιατί αξίζει να μάθετε την Python ως την πρώτη σας γλώσσα προγραμματισμού;» Δεν υπάρχει μυστήριο σε αυτό, όπως δεν υπάρχει κανένας γρίφος.

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

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

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

Τέταρτον, πολλοί υποστηρίζουν γλώσσα προγραμματισμού δέσμης ενεργειών. Μπορείτε να συνομιλήσετε με έξω κόσμοςμέσω εξωτερικών εισόδων και εξόδων.

Οι προγραμματιστές απλώς λατρεύουν αυτή τη γλώσσα για τη συντομία και την απλότητα του κώδικα. Πού μέσα JavaScriptή C++ θα χρειαστεί να γράψετε δύο ή τρεις σελίδες, στην Python μπορείτε να το κάνετε μόνο σε μία!

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

Ας συνοψίσουμε εν συντομία:

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

Και αν κάποιος εξακολουθεί να έχει ερωτήσεις: «Αξίζει να μάθεις Python;», «Είναι αυτή η γλώσσα κατάλληλη για αρχάριους;», «Έχοντας μάθει αυτή τη γλώσσα, θα μπορέσω να βρω δουλειά;» Καλή δουλειά? Η απάντησή μου: «Σίγουρα ναι! Μάθετε αυτή τη γλώσσα, ανεξάρτητα από το αν είστε αρχάριος προγραμματιστής ή έμπειρος. Σίγουρα θα σας φανεί χρήσιμο και θα σας βοηθήσει στις δραστηριότητές σας!».

Σε αυτό το σημείωμα, πρέπει να σας αποχαιρετήσω. Εγγραφείτε στο ιστολόγιό μου, πείτε στους φίλους σας γι 'αυτό - θα υπάρχουν πολλές ενδιαφέρουσες και σημαντικές πληροφορίες εδώ!

ΥΣΤΕΡΟΓΡΑΦΟ. Με ποια γλώσσα πιστεύετε ότι είναι καλύτερο να ξεκινήσετε; Ίσως κάποιος σας έδωσε άλλη συμβουλή; Θα χαρώ πολύ να έχω μια εξωτερική γνώμη στα σχόλια!



Έχετε ερωτήσεις;

Αναφέρετε ένα τυπογραφικό λάθος

Κείμενο που θα σταλεί στους συντάκτες μας: