Dieses Video gehört zum openHPI-Kurs Künstliche Intelligenz und Maschinelles Lernen in der Praxis. Möchten Sie mehr sehen?
Beim Laden des Videoplayers ist ein Fehler aufgetreten, oder es dauert lange, bis er initialisiert wird. Sie können versuchen, Ihren Browser-Cache zu leeren. Bitte versuchen Sie es später noch einmal und wenden Sie sich an den Helpdesk, wenn das Problem weiterhin besteht.
Scroll to current position
- 00:00Wir wollen ja in unserem Kurs Ihnen einmal an ganz anschaulichen KI-Projekten zeigen,
- 00:05wie so KI-Projekte auch dann tatsächlich umgesetzt werden können,
- 00:09also wie so etwas im Code dann aussieht.
- 00:11Und damit Sie das dann auch besser nachvollziehen können, möchten wir Ihnen einfach einmal zeigen,
- 00:15wie dann so die Grundlagen in Python aufgebaut sind.
- 00:19Dazu die erste Frage, warum überhaupt Python, ist ganz einfach zu beantworten.
- 00:24Es ist in den letzten Jahren eine der beliebtesten Programmiersprachen überhaupt.
- 00:28Das zeichnet sich dadurch beispielsweise aus,
- 00:30dass es einfach eine relativ simple Syntax hat. Syntax bedeutet
- 00:34an der Stelle ist, es lässt sich einfach programmieren.
- 00:36Und wenn es auch gut und leserlich programmiert ist, ja an manchen Stellen wirkt das dann fast
- 00:42schon wie einfach englischer Text, der ein paar Anweisungen beinhaltet, also ganz gut auch dann
- 00:47kommuniziert und auch gelesen werden kann.
- 00:50Darüber hinaus ist Python auch noch Plattformunabhängig, soll so viel bedeuten, wie ob
- 00:56Sie jetzt Python auf einem MacBook oder auf einem Windows-Rechner laufen lassen,
- 01:00da gibt es letztlich, ja, für Sie in der Entwicklung keinerlei Unterschiede,
- 01:05da das eine Interpreter-Sprache ist
- 01:08Und somit sie das auf verschiedenen Plattformen entwickeln können.
- 01:10Und zu guter Letzt dadurch, dass Python einfach auch in den letzten Jahren beliebter geworden
- 01:16ist, ist dahinter mittlerweile eine starke Entwickler-Community, die beispielsweise ganz
- 01:20wichtige Werkzeuge entwickelt und dann auch bereitstellt, beispielsweise Pandas.
- 01:25Das wird eine Bibliothek sein, die wir ganz oft im Laufe des Kurses uns noch anschauen, die
- 01:30beispielsweise durch diese Entwickler-Community entstanden ist.
- 01:34Vorab auch hier nochmal der Hinweis, wir möchte Ihnen jetzt die Grundlagen zeigen.
- 01:38Und Sie können das auch gerne noch einmal im Detail sich anschauen und auch herzlich dazu
- 01:43eingeladen, noch mal sich die Details von Python anzuschauen.
- 01:46Wir werden aber natürlich auch hier wieder nicht voraussetzen in den folgenden KI-Projekten,
- 01:52dass Sie jedes Detail davon verstehen in der Umsetzung, oder dass sie selber schon
- 01:56programmieren können müssen.
- 01:57Sondern wir wollen das wirklich einfach machen, damit Sie, wenn wir den Code dann zeigen, um einfach
- 02:02mal so ein bisschen das anschaulich zu machen, an ein paar Stellen einfach noch mal besser
- 02:06mitkommen können und das Ganze gut verstehen können, das ist die Intention.
- 02:12Dann können wir damit auch direkt anfangen.
- 02:14Und wenn wir uns jetzt einmal anschauen, was so in Python geschrieben werden kann, dann schauen
- 02:18wir uns erst einmal Datentypen an.
- 02:20Datentypen und Variablen, weil damit arbeiten wir einfach ganz viel.
- 02:23Und jetzt stellt sich die Frage, was ist ein Datentyp?
- 02:27Also was bedeutet das?
- 02:28Und da können wir uns erst mal überlegen, was wollen wir denn im Programm abbilden.
- 02:33Wollen wir in unserem Programm beispielsweise Rechnungen abbilden, also einfache Zahlen addieren
- 02:37und multiplizieren. Wir wollen vielleicht bestimmte Texte erzeugen oder Texte an unsere
- 02:42User ausgeben, oder beispielsweise Bedingungen berechnen.
- 02:45Also beispielsweise ob einen Zahl größer ist als eine andere.
- 02:48Dafür eignen sich eben Datentypen.
- 02:50Und genau diese Datentypen gibt es jetzt auch, die Zahlen, Zeichenketten und Bedingungen.
- 02:55Und die lassen sich ganz einfach durch Python- Anweisungen in sogenannte Variablen speichern.
- 03:02Wir werden das jetzt hier immer in Form von diesen Zellen machen, an denen man das einfach
- 03:06relativ schön und anschaulich erklären kann.
- 03:08Das heißt beispielsweise wenn ich jetzt diese Python-Zelle ausführe, habe ich
- 03:14die Zahl 42 in die Variable eine Zahl gespeichert.
- 03:18Das bedeutet so viel, dass ich jetzt diese Variable, eine Zahl, im späteren Programmverlauf
- 03:23einfach wieder verwenden kann, also jetzt nicht mehr überall 42 hinschreiben muss, sondern
- 03:28vielleicht einfach die Variable nutzen kann.
- 03:31Und Variablen kann ich nutzen, so oft ich möchte.
- 03:34Also ich kann auch mehrere Variablen aufbauen, wie beispielsweise noch eine Zahl
- 03:40oder eine Zeichenkette. Da muss ich nicht nur Nummern reinschreiben.
- 03:43Ich kann auch andere Werte reinschreiben, wie eben beispielsweise Zeichenketten.
- 03:49Diese Variablen können Sie sich letztendlich einfach vorstellen wie Container von Daten,
- 03:54die ich im Programm immer wieder verwenden kann.
- 04:00Jetzt greife ich an der Stelle einmal zwei Dinge vorweg.
- 04:03Die werde ich aber Nachgang noch erklären. Das ist einmal Print und einmal Type, einfach
- 04:08weil, wenn wir diese nutzen, relativ schön die Konzepte veranschaulichen können.
- 04:13Was wir mit Print machen können, ist letztendlich Daten in Form von den Variablen ausgeben.
- 04:19Auf unserer Programmeausgabe mit Type können wir den sogenannten Datentyp der
- 04:24Variable anzeigen lassen. Das heißt, wenn wir die verbinden, können wir jetzt beispielsweise
- 04:29sehen, was für Datentypen unsere Variablen haben, die wir eben erstellt haben.
- 04:33Also die Variable eine Zahl beispielsweise hat den Datentyp int.
- 04:38Was das genau ist schauen wir uns gleich an.
- 04:40Die Variable noch eine Zahl hat auch den Datentyp int und die
- 04:45Variable einen Zeichenkette hat den Datentyp String.
- 04:50Jetzt waren das die Abkürzungen für die eigentlich ja dann doch letztendlich Datentypen.
- 04:56Und da muss man einfach ein bisschen Wissen aufbauen, wofür diese verschiedenen Bezeichnungen
- 05:01stehen. Und es ist an und für sich relativ simpel. Int, das sind ganze Zahlen.
- 05:06Das sind ganze Zahlen wie beispielsweise 12 oder -214.
- 05:12Floats sind dann Dezimalzahlen. Bool, das sind Wahrheitsangaben, also beispielsweise ob eine
- 05:19Bedingung stimmt. Strings, das sind Zeichenketten wie eben beispielsweise Hallo, liebe Kursteilnehmer.
- 05:25Also ein einfacher Satz oder Wörter. Und dann gibt es noch Listen.
- 05:29Das ist, wenn man mehrere Daten zusammenfassen möchte, also eigentlich einfach beispielsweise
- 05:34zwei Sätze, aber voneinander getrennt.
- 05:36Und so genannte dictionaries, das sind Schlüsselwertangaben.
- 05:40Also beispielsweise, dass ich mir zu einem Schlüssel, Anzahl Teilnehmer, also beispielsweise
- 05:45einer Statistik, einen Wert speicherm möchte.
- 05:48Das sind jetzt so die wesentlichen Datentypen.
- 05:51Darüber hinaus gibt es aber noch ganz viele andere Datentypen, wie beispielsweise
- 05:55bytes, complex oder touple.
- 05:57Das sind jetzt aber die, die hier abgebildet sind, die wirklich essenziellen Datentypen, die
- 06:02man immer wieder braucht in der Entwicklung mit Python und die anderen greift man vielleicht hier
- 06:07und da mal wieder auf und recherchiert sie dann für den entsprechenden Zweck, den man braucht.
- 06:11Wenn Sie möchten, können Sie bei W3Schools einmal noch mal nachschauen,
- 06:14was es alles noch an Datentypen gibt.
- 06:15Wir sind aber jetzt erst mal mit den hier gelisteten Datentypen zufrieden.
- 06:23Dann gibt es noch eine ganz wichtige Funktionalität, die
- 06:26definitiv zu den Grundlagen gehört. Das sind die sogenannten Kommentare.
- 06:29wenn ich jetzt nämlich in Python meinen Code schreibe, dann interpretiert Python erstmal
- 06:34wirklich alles als Anweisungen.
- 06:36Also alles, was ich reinschreibe, wird auch ausgeführt.
- 06:39Jetzt möchte ich aber vielleicht genau in einem Code an ein paar Stellen Hinweise hinterlegen,
- 06:45wie dieser Code funktioniert. Beispielsweise, was für Gedanken ich mir gemacht habe bei einem
- 06:50Algorithmus oder irgendwelche Hinweise, vielleicht noch To-Dos, die noch umgesetzt werden müssen.
- 06:55Und dann möchte ich natürlich nicht das Python in die ausführt.
- 06:58Und dafür gibt es Kommentare, die einfach über eine Raute beziehungsweise ein Hashtag
- 07:02eingeleitet werden können und dann im Code ganz normal genutzt werden können.
- 07:06Ja, also beispielsweise wenn wir "das ist eine Konstante" ausgemen möchten,
- 07:12also einfach eine Zeichenketten, ein String, dann können wir das mit print machen
- 07:17und wir können hier beispielsweise unsere Kommentare setzen, was wir
- 07:20an dieser Stelle machen.
- 07:21Das hilft oftmals einfach, um den Code besser wartbar zu machen.
- 07:27Jetzt haben wir unsere Variablen, jetzt wissen wir, es gibt verschiedene
- 07:30Datentypen, und jetzt können wir als nächstes Operationen darauf ausführen.
- 07:35Das heißt beispielsweise wenn wir sagen, dass wir Variablen aufbauen, wie beispielsweise eine Zahl
- 07:39und noch eine Zahl, ganz simpel, dann können wir darauf, wenn wir wissen, dass das Integer sind,
- 07:44also ganze Zahlen, beispielsweise arithmetische Operationen wie Plus, Minus,
- 07:48Mal und geteilt ausführen. Wenn wir das machen, sehen wir auch, das geht blitzschnell.
- 07:53Wir haben 42+2 gerechnet, also 44, und auch die anderen Operationen.
- 07:59Wir sehen aber auch ein interessantes Verhalten, und zwar, wenn wir die Division ausführen, also
- 08:0742 geteilt durch 2, kriegen 21, aber mit einem Punkt 0.
- 08:11Und da muss man jetzt wissen, dass je nachdem, was für Datentypen man hat beziehungsweise was für
- 08:17Operationen man ausführt, das Ergebnis auch einen entsprechenden Datentyp haben kann.
- 08:21Ja, es wird ganz einfach anschaulich, wenn wir jetzt nicht 42 durch zwei teilen, sondern 43 durch
- 08:272, würden wir beispielsweise nicht auf eine ganze Zahl kommen, sondern auf 21,5.
- 08:31Und das sieht man auch daran, wenn man den Datentyp ausführt, also jetzt wenn man sich anzeigen lässt,
- 08:37dass es hierbei ein float ist, also eine Dezimalzahl.
- 08:41Und Python erkenn das. Also Python erkennt um was für einen Datentyp
- 08:45es sich handeln soll und macht solche Konvertierungen automatisch.
- 08:51Jetzt gibt es aber auch Operation, die Python nicht automatisch ausführt oder nicht
- 08:57automatisch ausführen kann, sondern wo eine Fehlermeldung ausgegeben wird.
- 09:01Beispielsweise wenn ich jetzt eine Zeichenkette, also einen Satz, beispielsweise
- 09:05mit einer Zahl addieren möchte.
- 09:07Das geht ja erst einmal nicht, rein arithmetisch betrachtet.
- 09:11und deswegen sagt Python an der Stelle auch, das kann ich nicht machen.
- 09:14Ich kann keinen Zeichenkette mit einer Zahl addieren und gebe hier dem User die Warnung, dass
- 09:20ein Fehler stattgefunden hat und vielleicht noch eine Informationen,
- 09:25was genau der Grund für den Fehler ist.
- 09:27Also wir können nicht jeden Datentyp mit jeder möglichen Operationen mit anderen Datentypen
- 09:34verbinden. Wenn wir jetzt aber trotzdem beispielsweise sagen, wir möchten sehr gerne einfach
- 09:41diese beiden Werte aus den Variablen miteinander kombinieren, beispielsweise einfach nur aneinander
- 09:46verketten, also gar nicht eine mathematische Operation aus führen, sondern einfach die Werte
- 09:50daraus ausgeben, vielleicht in einer Komma-separierten Liste.
- 09:53Dann können wir das auch ganz einfach machen, indem wir Python
- 09:56explizit sagen, der Wert, der in der Variable steht bitte mit folgendem Datentyp interpretieren.
- 10:01Das heißt, wenn wir jetzt die Variable, "eine Zahl" mit string letztendlich umhüllen
- 10:10und damit konvertieren weiß Python, dass es diese Werte einfach miteinander verarbeiten kann
- 10:15in der Form, dass man zwei Zeichenketten addieren kann,
- 10:19indem man sie kombiniert, also konkateniert.
- 10:22Würde bei uns jetzt einfach das Ergebnis bringen, dass wir die Zeichenkette
- 10:26"Hallo, liebe Kursteilnehmer" und die Zahl 42,
- 10:29die Python aber als string interpretieren soll, miteinander konkatenieren.
- 10:33Jetzt haben wir viel über Datentypen, Variablen und Operation gelernt.
- 10:40Damit könnten wir eigentlich auch schon eine Menge machen.
- 10:42Also wir könnten Operation wie Berechnungen ausführen, Formeln abbilden.
- 10:47Jetzt möchten wir vielleicht aber auch an der Stelle wiederverwendbare Formeln
- 10:51entwickeln, und dafür bietet sich beispielsweise letztendlich in Python das Konzept einer Funktion.
- 10:58Und man kann sich das ganz simpel vorstellen wie eine Maschine, die man entwickelt, indem man
- 11:03Eingaben eingibt, die dann nach einer bestimmten Logik diese Eingabe verarbeitet und eine Ausgabe
- 11:08erzeugt. Also wenn wir jetzt beispielsweise eine von Funktion schreiben, die zwei Zahlen addieren soll,
- 11:15und dabei vielleicht eine kleine Ausgabe dem User macht, dann können wir das machen, indem wir sagen:
- 11:19Addiere zwei Zahlen, damit bennenen wir quasi unsere Maschine.
- 11:23Wir definieren, welche Eingaben wir in unsere Maschine geben.
- 11:27Erste Zahl und zweite Zahl, das sind einfach im Scope quasi dieser Maschine, die Bezeichnungen
- 11:34für die Eingaben, und können hier unsere Logik umsetzen, also beispielsweise ein
- 11:38Print Statement ausführen, dann zwei variablen miteinander addieren,
- 11:44das Ergebnis in eine Summe schreiben und diese zurückgeben.
- 11:48Und damit haben wir jetzt noch nicht diese Funktion ausgeführt.
- 11:53Aber wir haben sie definiert, also quasi Python gesagt, dass es diese Maschine gibt und diese
- 11:58Maschine genutzt werden kann.
- 11:59Wenn wir das jetzt beispielsweise dann mal ausführen möchten wie mit einer Variable oder mit einer
- 12:06Konstanten, dann können wir das ganz einfach machen.
- 12:08Und wir müssen jetzt nicht immer wieder den gleichen Code schreiben, sondern können
- 12:13einfach immer wieder auf diesen Code referenzieren und Python letztendlich sagen:
- 12:16Ich habe hier Eingaben, die möchte ich in diese Funktion, diese Maschinerie, geben und
- 12:22entsprechend der Logik, die ich definiert habe, verarbeiten und die Ausgabe bekommen.
- 12:30Auch das bedeutet aber natürlich, dass diese Maschinerie jetzt nicht jeden möglichen
- 12:34Fehler für uns verhindern wird, sondern wenn wir an der Stelle ja immer noch Parameter
- 12:40übergeben, die unsere Logik nicht abbildet, wie beispielsweise dann
- 12:44doch wieder einen String als, eine Zeichenkette, mit einer Zeit zu addieren,
- 12:48wird es nach wie vor einen Fehler geben.
- 12:50Also haben wir auch hier wieder ähnliches Szenario wie vorhin, einen String mit einer
- 12:55ganzen Zahl addieren möchten, wird es immer noch einen Fehler geben.
- 13:01Wir kriegen tatsächlich sogar den gleichen Fehler von vorhin.
- 13:04Jetzt müssen wir das Ergebnis, was wir durch diese Funktion bekommen, nicht immer direkt
- 13:12verarbeiten, oder wir müssen es nicht direkt ausgeben, sondern auch hier kann man natürlich
- 13:16sagen, bei einer Funktion, wenn man das Ergebnis erhält, dass man dieses in einer Variable
- 13:21speichert. Ja, also wir könnten jetzt das Ergebnis der Addition in die Variable eine_summe speichern
- 13:27und die anschließend ausgeben, hätten jetzt aber immer noch die Variable
- 13:31eine_summe, wenn wir die so weiter verwenden möchten.
- 13:36So, und jetzt hatte ich vorhin gesagt, das nehme ich einmal kurz vorweg, und jetzt erkläre ich
- 13:41aber, um was es sich handelt, und zwar die Print und Type Schlüsselwörter sind
- 13:47letztendlich auch Funktionen.
- 13:48Das heißt Python bietet auch Funktionen, die wir gar nicht selber implementieren müssen, sondern
- 13:53die von Python schon vorgegeben sind. Und Print und Type sind eben solche Funktion.
- 13:58Und was Print macht ist, dass es einer Variable und eine Konstante, also beispielsweise
- 14:04eine Zeichenkette als Eingabe nimmt und dann mit einer bereits vorgegebenen Logik
- 14:10diese Variable verarbeitet.
- 14:13Was dazu führt, dass wir die als Ausgabe von unserem Programm angezeigt bekommen können.
- 14:17Und Type funktioniert ähnlich, es ist auch eine Maschinerie einer Funktion, der wir ein Argument
- 14:24übergeben können, dieses Argument nach einer bestimmten Logik verarbeitet und uns dann den
- 14:29Datentyp zurückgibt und beispielsweise sagt, dass es dabei ein String ist.
- 14:32Ja, und die Python-Funktion, die wir hier verwenden können, ist einfach ein ganz
- 14:39wichtiges Konzept. Das werden wir im Lauf des Kurses auch immer wieder nutzen.
- 14:42Das heißt, dass wir nicht immer unseren Code schreiben, sondern eine Funktion beschreiben
- 14:48und diese dann wieder aufrufen werden.
- 14:50Und wir werden sogar nicht nur unsere eigenen Funktionen schreiben, sondern wir werden auch
- 14:54Funktionen von anderen Pythonentwicklern nutzen in Form von sogenannten Bibliotheken.
- 14:59Das schauen wir uns in späteren Videos aber noch an.
- 15:02Genau, hier machen wir einen kleinen Cut und schauen uns gleich im nächsten Video an,
- 15:08wie wir mal einen Taschenrechner in Python entwickeln könnten.
To enable the transcript, please select a language in the video player settings menu.
Über dieses Video
- Auf GitHub haben wir alle Materialien für die praktischen Einheiten zusammengefasst und für Sie aufbereitet.