Was genau können Sie mit Python tun? Hier sind die 3 Hauptanwendungen von Python.

Wenn Sie daran denken, Python zu lernen - oder wenn Sie kürzlich damit begonnen haben, Python zu lernen -, fragen Sie sich möglicherweise:

"Wofür kann ich Python genau verwenden?"

Nun, das ist eine schwierige Frage, da es so viele Anwendungen für Python gibt.

Im Laufe der Zeit habe ich jedoch festgestellt, dass es drei beliebte Hauptanwendungen für Python gibt:

  • Web Entwicklung
  • Data Science - einschließlich maschinellem Lernen, Datenanalyse und Datenvisualisierung
  • Skripting

Lassen Sie uns nacheinander über jeden von ihnen sprechen.

Web Entwicklung

Web-Frameworks, die auf Python basieren, wie Django und Flask, sind in letzter Zeit für die Webentwicklung sehr beliebt geworden.

Mit diesen Webframeworks können Sie serverseitigen Code (Backend-Code) in Python erstellen. Dies ist der Code, der auf Ihrem Server ausgeführt wird, im Gegensatz zu den Geräten und Browsern der Benutzer (Front-End-Code). Wenn Sie mit dem Unterschied zwischen Backend-Code und Front-End-Code nicht vertraut sind, lesen Sie bitte meine Fußnote unten.

Aber warte, warum brauche ich ein Webframework?

Dies liegt daran, dass ein Webframework das Erstellen einer gemeinsamen Backend-Logik erleichtert. Dies umfasst das Zuordnen verschiedener URLs zu Teilen des Python-Codes, den Umgang mit Datenbanken und das Generieren von HTML-Dateien, die Benutzer in ihren Browsern sehen.

Welches Python-Webframework soll ich verwenden?

Django und Flask sind zwei der beliebtesten Python-Webframeworks. Ich würde empfehlen, eine davon zu verwenden, wenn Sie gerade erst anfangen.

Was ist der Unterschied zwischen Django und Flask?

Es gibt einen ausgezeichneten Artikel zu diesem Thema von Gareth Dwyer, also lassen Sie mich ihn hier zitieren:

te>

Hauptkontraste:

  • Der Kolben bietet Einfachheit, Flexibilität und feinkörnige Kontrolle. Es ist unbeeinflusst (es lässt Sie entscheiden, wie Sie Dinge implementieren möchten).
  • Django bietet ein umfassendes Erlebnis: Sie erhalten sofort ein Admin-Panel, Datenbankschnittstellen, ein ORM (objektrelationale Zuordnung) und eine Verzeichnisstruktur für Ihre Apps und Projekte.

Sie sollten wahrscheinlich wählen:

  • Flask, wenn Sie sich auf die Erfahrungen und Lernmöglichkeiten konzentrieren oder mehr Kontrolle darüber wünschen, welche Komponenten verwendet werden sollen (z. B. welche Datenbanken Sie verwenden möchten und wie Sie mit ihnen interagieren möchten).
  • Django, wenn Sie sich auf das Endprodukt konzentrieren. Vor allem, wenn Sie an einer einfachen Anwendung wie einer Nachrichtenseite, einem E-Store oder einem Blog arbeiten und möchten, dass es immer eine einzige, offensichtliche Vorgehensweise gibt.

te>

Mit anderen Worten, wenn Sie ein Anfänger sind, ist Flask wahrscheinlich die bessere Wahl, da es weniger Komponenten enthält, mit denen Sie sich befassen müssen. Außerdem ist Flask die bessere Wahl, wenn Sie mehr Anpassungen wünschen.

Auf der anderen Seite, wenn Sie etwas direkt bauen möchten, wird Django Sie wahrscheinlich schneller dorthin bringen.

Wenn Sie Django lernen möchten, empfehle ich das Buch Django für Anfänger. Sie finden es hier.

Die kostenlosen Beispielkapitel dieses Buches finden Sie hier.

Okay, lass uns zum nächsten Thema gehen!

Data Science - einschließlich maschinellem Lernen, Datenanalyse und Datenvisualisierung

Lassen Sie uns zunächst überprüfen, was maschinelles Lernen ist .

Ich denke, der beste Weg, um zu erklären, was maschinelles Lernen ist, wäre, Ihnen ein einfaches Beispiel zu geben.

Angenommen, Sie möchten ein Programm entwickeln, das automatisch erkennt, was in einem Bild enthalten ist.

In diesem Bild unten (Bild 1) möchten Sie, dass Ihr Programm erkennt, dass es sich um einen Hund handelt.

Original text


In Anbetracht des anderen unten (Bild 2) möchten Sie, dass Ihr Programm erkennt, dass es sich um eine Tabelle handelt.

Man könnte sagen, ich kann einfach einen Code schreiben, um das zu tun. Wenn das Bild beispielsweise viele hellbraune Pixel enthält, können wir sagen, dass es sich um einen Hund handelt.

Oder vielleicht können Sie herausfinden, wie Sie Kanten in einem Bild erkennen. Dann könnte man sagen, wenn es viele gerade Kanten gibt, dann ist es eine Tabelle.

Diese Art der Herangehensweise wird jedoch ziemlich schnell schwierig. Was ist, wenn auf dem Bild ein weißer Hund ohne braune Haare zu sehen ist? Was ist, wenn das Bild nur die runden Teile des Tisches zeigt?

Hier kommt maschinelles Lernen ins Spiel.

Maschinelles Lernen implementiert normalerweise einen Algorithmus, der automatisch ein Muster in der gegebenen Eingabe erkennt.

Sie können einem Algorithmus für maschinelles Lernen beispielsweise 1.000 Bilder eines Hundes und 1.000 Bilder einer Tabelle geben. Dann lernt es den Unterschied zwischen einem Hund und einem Tisch. Wenn Sie ihm ein neues Bild von einem Hund oder einem Tisch geben, kann er erkennen, um welchen es sich handelt.

Ich denke, das ist etwas ähnlich wie ein Baby neue Dinge lernt. Wie lernt ein Baby, dass eine Sache wie ein Hund und eine andere wie ein Tisch aussieht? Wahrscheinlich aus einer Reihe von Beispielen.

Sie sagen einem Baby wahrscheinlich nicht ausdrücklich: "Wenn etwas pelzig ist und hellbraune Haare hat, dann ist es wahrscheinlich ein Hund."

Sie würden wahrscheinlich nur sagen: „Das ist ein Hund. Dies ist auch ein Hund. Und dieser ist ein Tisch. Dieser ist auch ein Tisch. "

Algorithmen für maschinelles Lernen funktionieren ähnlich.

Sie können dieselbe Idee anwenden auf:

  • Empfehlungssysteme (denken Sie an YouTube, Amazon und Netflix)
  • Gesichtserkennung
  • Spracherkennung

unter anderen Anwendungen.

Zu den gängigen Algorithmen für maschinelles Lernen, von denen Sie vielleicht schon gehört haben, gehören:

  • Neuronale Netze
  • Tiefes Lernen
  • Support-Vektor-Maschinen
  • Zufälliger Wald

Sie können einen der oben genannten Algorithmen verwenden, um das zuvor erläuterte Problem der Bildbeschriftung zu lösen.

Python für maschinelles Lernen

Es gibt beliebte Bibliotheken und Frameworks für maschinelles Lernen für Python.

Zwei der beliebtesten sind Scikit-Learn und TensorFlow .

  • scikit-learn enthält einige der beliebtesten Algorithmen für maschinelles Lernen. Ich habe einige davon oben erwähnt.
  • TensorFlow ist eher eine Bibliothek auf niedriger Ebene, mit der Sie benutzerdefinierte Algorithmen für maschinelles Lernen erstellen können.

Wenn Sie gerade erst mit einem maschinellen Lernprojekt beginnen, würde ich empfehlen, dass Sie zuerst mit scikit-learn beginnen. Wenn Sie auf Effizienzprobleme stoßen, würde ich mich mit TensorFlow befassen.

Wie soll ich maschinelles Lernen lernen?

Um die Grundlagen des maschinellen Lernens zu erlernen, würde ich entweder den maschinellen Lernkurs von Stanford oder Caltech empfehlen.

Bitte beachten Sie, dass Sie Grundkenntnisse in Analysis und linearer Algebra benötigen, um einige der Materialien in diesen Kursen zu verstehen.

Dann würde ich üben, was Sie aus einem dieser Kurse mit Kaggle gelernt haben. Es ist eine Website, auf der Menschen miteinander konkurrieren, um den besten Algorithmus für maschinelles Lernen für ein bestimmtes Problem zu entwickeln. Sie haben auch nette Tutorials für Anfänger.

Was ist mit Datenanalyse und Datenvisualisierung?

Um Ihnen zu helfen, zu verstehen, wie diese aussehen könnten, möchte ich Ihnen hier ein einfaches Beispiel geben.

Angenommen, Sie arbeiten für ein Unternehmen, das einige Produkte online verkauft.

Als Datenanalyst können Sie dann ein Balkendiagramm wie dieses zeichnen.

Aus dieser Grafik können wir ersehen, dass Männer an diesem Sonntag über 400 Einheiten dieses Produkts und Frauen etwa 350 Einheiten dieses Produkts gekauft haben.

Als Datenanalyst könnten Sie einige mögliche Erklärungen für diesen Unterschied finden.

Eine naheliegende mögliche Erklärung ist, dass dieses Produkt bei Männern beliebter ist als bei Frauen. Eine andere mögliche Erklärung könnte sein, dass die Stichprobengröße zu klein ist und dieser Unterschied nur zufällig verursacht wurde. Und noch eine andere mögliche Erklärung könnte sein, dass Männer dieses Produkt aus irgendeinem Grund eher am Sonntag kaufen.

Um zu verstehen, welche dieser Erklärungen richtig ist, können Sie ein anderes Diagramm wie dieses zeichnen.

Anstatt nur die Daten für Sonntag anzuzeigen, betrachten wir die Daten für eine ganze Woche. Wie Sie in dieser Grafik sehen können, können wir sehen, dass dieser Unterschied über verschiedene Tage hinweg ziemlich konsistent ist.

Aus dieser kleinen Analyse können Sie schließen, dass die überzeugendste Erklärung für diesen Unterschied darin besteht, dass dieses Produkt bei Männern einfach beliebter ist als bei Frauen.

Was ist andererseits, wenn Sie stattdessen ein Diagramm wie dieses sehen?

Was erklärt dann den Unterschied am Sonntag?

Man könnte sagen, vielleicht kaufen Männer aus irgendeinem Grund nur am Sonntag mehr von diesem Produkt. Oder vielleicht war es nur ein Zufall, dass Männer am Sonntag mehr davon kauften.

Dies ist also ein vereinfachtes Beispiel dafür, wie Datenanalysen in der realen Welt aussehen könnten.

Die Datenanalyse, die ich bei Google und Microsoft durchgeführt habe, war diesem Beispiel sehr ähnlich - nur komplexer. Ich habe Python bei Google für diese Art der Analyse verwendet, während ich bei Microsoft JavaScript verwendet habe.

In beiden Unternehmen habe ich SQL verwendet, um Daten aus unseren Datenbanken abzurufen. Dann würde ich entweder Python und Matplotlib (bei Google) oder JavaScript und D3.js (bei Microsoft) verwenden, um diese Daten zu visualisieren und zu analysieren.

Datenanalyse / Visualisierung mit Python

Eine der beliebtesten Bibliotheken für die Datenvisualisierung ist Matplotlib.

Es ist eine gute Bibliothek, um damit zu beginnen, weil:

  • Es ist einfach, damit anzufangen
  • Einige andere Bibliotheken wie Seaborn basieren darauf. Wenn Sie also Matplotlib lernen, können Sie diese anderen Bibliotheken später lernen.

Wie soll ich Datenanalyse / -visualisierung mit Python lernen?

Sie sollten zunächst die Grundlagen der Datenanalyse und -visualisierung erlernen. Als ich online nach guten Ressourcen dafür suchte, konnte ich keine finden. Also habe ich ein YouTube-Video zu diesem Thema gemacht:

Am Ende habe ich auch einen vollständigen Kurs zu diesem Thema auf Pluralsight gemacht, den Sie kostenlos belegen können, indem Sie sich für die 10-tägige kostenlose Testversion anmelden.

Ich würde beide empfehlen.

Nach dem Erlernen der Grundlagen der Datenanalyse und -visualisierung sind auch das Erlernen der Grundlagen der Statistik von Websites wie Coursera und Khan Academy hilfreich.

Skripting

Was ist Scripting?

Skripterstellung bezieht sich normalerweise auf das Schreiben kleiner Programme, mit denen einfache Aufgaben automatisiert werden sollen.

Lassen Sie mich Ihnen ein Beispiel aus meiner persönlichen Erfahrung hier geben.

Ich habe bei einem kleinen Startup in Japan gearbeitet, wo wir ein E-Mail-Support-System hatten. Es war ein System für uns, auf Fragen zu antworten, die Kunden uns per E-Mail schickten.

Als ich dort arbeitete, hatte ich die Aufgabe, die Anzahl der E-Mails mit bestimmten Schlüsselwörtern zu zählen, damit wir die erhaltenen E-Mails analysieren konnten.

Wir hätten es manuell machen können, aber stattdessen habe ich ein einfaches Programm / ein einfaches Skript geschrieben, um diese Aufgabe zu automatisieren.

Eigentlich haben wir damals Ruby dafür verwendet, aber Python ist auch eine gute Sprache für diese Art von Aufgabe. Python eignet sich hauptsächlich für diese Art von Aufgaben, da es eine relativ einfache Syntax hat und leicht zu schreiben ist. Es ist auch schnell, etwas Kleines damit zu schreiben und es zu testen.

Was ist mit eingebetteten Anwendungen?

Ich bin kein Experte für eingebettete Anwendungen, aber ich weiß, dass Python mit Rasberry Pi funktioniert. Es scheint eine beliebte Anwendung unter Hardware-Hobbyisten zu sein.

Was ist mit Spielen?

Sie könnten die Bibliothek namens PyGame verwenden, um Spiele zu entwickeln, aber es ist nicht die beliebteste Gaming-Engine da draußen. Sie könnten es verwenden, um ein Hobbyprojekt zu erstellen, aber ich persönlich würde es nicht wählen, wenn Sie es ernst meinen mit der Spieleentwicklung.

Ich würde eher empfehlen, mit Unity mit C # zu beginnen, einer der beliebtesten Gaming-Engines. Sie können ein Spiel für viele Plattformen erstellen, einschließlich Mac, Windows, iOS und Android.

Was ist mit Desktop-Anwendungen?

Sie könnten mit Python eine mit Tkinter erstellen, aber es scheint auch nicht die beliebteste Wahl zu sein.

Stattdessen scheinen Sprachen wie Java, C # und C ++ dafür beliebter zu sein.

Vor kurzem haben einige Unternehmen begonnen, JavaScript auch zum Erstellen von Desktop-Anwendungen zu verwenden.

Zum Beispiel wurde Slacks Desktop-App mit etwas namens Electron erstellt. Sie können Desktop-Anwendungen mit JavaScript erstellen.

Wenn ich persönlich eine Desktop-Anwendung erstellen würde, würde ich eine JavaScript-Option verwenden. Sie können einen Teil des Codes aus einer Webversion wiederverwenden, wenn Sie ihn haben.

Ich bin jedoch auch kein Experte für Desktop-Anwendungen. Bitte teilen Sie mir dies in einem Kommentar mit, wenn Sie mir nicht zustimmen oder mir zustimmen.

Python 3 oder Python 2?

Ich würde Python 3 empfehlen, da es moderner ist und an dieser Stelle eine beliebtere Option ist.

Fußnote: Ein Hinweis zum Back-End-Code im Vergleich zum Front-End-Code (nur für den Fall, dass Sie mit den Begriffen nicht vertraut sind):

Angenommen, Sie möchten so etwas wie Instagram erstellen.

Anschließend müssen Sie für jeden Gerätetyp, den Sie unterstützen möchten, Front-End-Code erstellen.

Sie könnten zum Beispiel verwenden:

  • Swift für iOS
  • Java für Android
  • JavaScript für Webbrowser

Jeder Codesatz wird auf jedem Gerätetyp / Browser ausgeführt. Dies ist der Code, der bestimmt, wie das Layout der App aussehen wird, wie die Schaltflächen aussehen sollen, wenn Sie darauf klicken usw.

Sie müssen jedoch weiterhin die Möglichkeit haben, Benutzerinformationen und Fotos zu speichern. Sie möchten sie auf Ihrem Server und nicht nur auf den Geräten Ihrer Benutzer speichern, damit die Follower jedes Benutzers seine Fotos anzeigen können.

Hier kommt der Backend-Code / serverseitiger Code ins Spiel. Sie müssen Backend-Code schreiben, um Folgendes zu tun:

  • Verfolgen Sie, wer wem folgt
  • Komprimieren Sie Fotos, damit sie nicht so viel Speicherplatz beanspruchen
  • Empfehlen Sie Fotos und neue Konten für jeden Benutzer in der Entdeckung Funktion

Dies ist also der Unterschied zwischen Backend-Code und Front-End-Code.

Übrigens ist Python nicht die einzige gute Wahl, um Backend- / serverseitigen Code zu schreiben. Es gibt viele andere beliebte Optionen, einschließlich Node.js, das auf JavaScript basiert.

Hat Ihnen dieser Artikel gefallen? Dann könnte dir auch mein YouTube-Kanal gefallen.

Ich habe einen YouTube-Kanal für Programmierausbildung namens CS Dojo mit mehr als 440.000 Abonnenten, auf dem ich mehr Inhalte wie diesen Artikel produziere.

Zum Beispiel könnten Ihnen diese Videos gefallen:

Trotzdem vielen Dank für das Lesen meines Artikels!