Einführung

Hinweis auf Python-Kurse bei Bodenseo

Es gibt sehr viele Dokumentationen, Tutorials und Bücher zu Python, aber die meisten sind in Englisch. Deshalb bieten wir hier sowohl einen online Python-Kurs als auch ein Tutorial zu Python in Deutsch, das sich sowohl für Anfänger wegen seiner vielen Beispiele als auch für Fortgeschrittene wegen der weiterführenden Themen eignet.

Sie sind auf dieser Webseite angekommen, weil Sie auf der Suche nach einer einfachen Einführung in die Programmiersprache Python sind? Oder Sie suchten eigentlich nach einer offenen Python-Schulung oder einem Inhouse-Kurs? Egal worauf Ihre Suche zielte, Sie finden auf dieser Webseite ein umfangreiches und auch für Anfänger geeignetes Tutorial mit dem Sie sowohl die Grundlagen der Programmierung bzw. allgemeine Programmierprinzipien lernen können, als auch die Sprache Python. Unserer Meinung nach gibt es keine andere gebräuchliche Programmiersprache, die es einem Anfänger einfacher macht, programmieren zu lernen. Also, los geht's mit unserem Python-Tutorial als Einführung.

Neuigkeiten

März 2024:
Neue Kapitel:

Überarbeitete Kapitel:

Februar 2024:
Die Kapitel "Erstellen von unveränderlichen Klassen in Python" und "dataclass Datenklassen in Python" wurden überarbeitet und um eine Übungsaufgabe erweitert.

Januar 2024:
Das neue Jahr hat kaum begonnen, und wir haben schon einen neuen Kurs-Inhalt: In dem Kapitel "Komposition von Funktionen" geht es wie der Name vermuten lässt um die Komposition oder Verknüpfung von Funktionen in Python.

Dezember 2023:
Das Tutorial zu objektorientierter Programmierung (OOP) wurde um zwei neue Seiten erweitert: Erstellen von unveränderlichen Klassen in Python" und Sie können nun lernen, wie man mit dataclass Datenklassen in Python" einfach erzeugt.

November 2023:
  • Neues aus der Python-Küche: Currying mit Python
  • Nun haben wir auch das Kapitel über for-Schleifen grundlegend überarbeitet und ebenfalls um 7 neue Aufgaben mit Musterlösungen erweitert.
Oktober 2023:
Das Kapitel über while-Schleifen wurde überarbeitet und um 7 neue Aufgaben mit Musterlösungen erweitert.

Juni 2023:
Nach den Kursen über Bilder und Videos mit Python haben wir uns im Juni wieder grundsätzlichen Python-Themen aus der OOP und funktionalen Programmierung zugewendet:
  • In unserem Kurs "OOP" haben wir ein neues Kapitel hinzugefügt. Es handelt sich um ein umfangreiches Beispiel einer Python-Klasse - Polynom-Klasse, die den Umgang mit Polynomen besonders leicht macht und die besondere Eleganz von Python und der Operator-Überladung eindringlich demonstriert
  • Das Kapitel über Dekorateure haben wir verbessert und um weitere Beispiele von Dekorateuren ergänzt.
Mai 2023:
Es gibt eine Fortsetzung zum Thema "Python, Bilder und Videos", d.h. eine neue Schulung mit dem Titel "Videos mit beweglichen Objekten" (Bernd Klein)
April 2023:
Wir haben unserem Python-Tutorial mehrere neue Kurse hinzugefügt:
  • In unserer Sektion "Numerisches Python" gibt es zwei neue Kapitel zu Pandas. In beiden geht es um groupby. Eine allgemeine Einführung zur Gruppierung mittels groupby und weitere Beispiele zu diesem Thema
  • Ein weiteres neues Tutorial beschäftigt sich mit umfangreiches Beispiel über das Arbeiten mit Mengen in Python. Hier werden berühmte Romane der Weltliteratur mit Python statistisch analysiert.
  • In einem weiteren neuen Tutorial zeigen wir denjenigen, die an Bildverarbeitung und und Erzeugung von Videos mit Python interessiert sind, die Erzeugung von Videos aus einem oder mehreren Bildern oder Photos.

    Ich habe diese Technik verwendet, um Videos für eine Musikkomposition von mir zu erstellen. Die Videos sind bei YouTube zu finden:

    Die Musik ist in beiden Videos die gleiche. Ein Musikstück für Streichorchester und Solocello. Die Tonspur habe ich mit dem Linux-Programm kdenlive hinzugefügt.

    Weitere Musik-Videos von mir, aber auch Python-Videos, findet man in meinem Channel Bernd Klein. Es werden weitere Python-Videos folgen. Es lohnt sich also zu abonnieren!

März 2023:
Im März habe ich zwei neue Kapitel für den online Python-Kurs fertig gestellt. In dem einem zeige ich, was Walrosse mit Python zu tun haben, d.h. Walross-Operatoren
Im zweiten Kapitel geht geht es auch um ein neues Feature von Python nämlich der Struktureller Musterabgleich (Bernd Klein)
April 2021:
Das Kapitel über Generatoren wurde komplett neu bearbeitet und mit Syntax-Highlighting versehen. (Melisa, Bernd)
März 2021:
Es gibt weitere Fortschritte bei der Übersetzung meiner englischen Einführung zum maschinellen Lernen: Für die folgenden Kapitel gilt mein besonderer Dank Dr. Konrad Wienands, der diese für unsere Webseite aus dem Englischen übersetzt hat:
Februar 2021:
In den letzten Tagen habe ich von früh morgens bis spät Abends an der Webseite gearbeitet. Es gibt nun endlich die ersten Kapiteln zum maschinellen Lernen: Dabei handelt es sich um eine Übersetzung und Überarbeitung meiner englischen Einführung ins Machine Learning, welches ich bereits im Januar 2017 begonnen hatte..
Außerdem habe ich die ersten drei Kapitel meiner Einführung in die OOP komplett überarbeitet.

Januar 2021:
Entfernung des Python2-Tutorial, da Python2 nun endgültig Geschichte ist bzw. sein sollte. Außerdem habe ich die Gleiderung des Tutorial überarbeitet, d.h. neue Sektionen eingeführt.
Oktober 2020:
Das Kapitel über Rekursive Funktionen wurde völlig überarbeitet und mit zusätzlichen interessanten Beispielen und Aufgaben angereichert!
September 2020:
Es wird nun farbig im Tutorial! Nachdem es lange Zeit nur Änderungen auf der englischen Webseite gab, haben wir nun auch auf der deutschen Webseite ein großes Projekt in Angriff genommen. Melisa Atay arbeitet hart daran, die vorhandenen HTML-Dateien in Jupyter-Notebooks umzuwandeln, die dann automatisch in HTML umgewandelt werden. Auf diese Weise erhalten die Codelistings eine Syntaxhervorhebung. Dabei wird sie natürlich auch die Beispiele und Texte anpassen.
Oktober 2016:
Im Laufe der letzten Monate wurden mehrere Kapitel unseres Python3-Tutorials in englischer Sprache ins Deutsche übersetzt, so dass das gesamte Tutorial nun auch vollständig in Deutsch vorliegt. Es handelt sich um die Kapitel:
September 2015:
Überarbeitung des Kapitels über "Memoisation.

Juli 2015:
Neues Kapitel über "Slots hinzugefügt.

März 2014:
Im ersten Quartal von 2014 haben wir das Kapitel über objektorientierte Programmierung nahezu komplett umgeschrieben, erweitert und verbessert. Das alte Kapitel "Klassen" befindet sich nicht mehr im Index auf der linken Seite, weil wir es durch die folgenden fünf Kapitel ersetzt haben: Ausgedruckt ergeben diese fünf Kapitel 65 Seiten statt bisher 12 Seiten. Damit dürfte es zu den umfangreichsten im Internet verfügbaren Einführungen in die objektorientierte Programmierung mit Python in Deutsch gehören. Insgesamt sind ca. 200 Arbeitsstunden alleine in diese Verbesserung und Erweiterung geflossen. Dies nur als Anmerkung für unflätige Flamer, die uns Hass-Emails schreiben, wenn mal ein Doppelpunkt oder Komma falsch steht!

Online Kurs

In unserem Tutorial finden Sie einen kompletten Python-Kurs. Eigentlich mehrere Python-Kurse mit Schwerpunkten zu verschiedenen Gebieten:

Grundlagen von Python

  • Das erste Kapitel beschäftigt sich mit der Entstehung und der Philosophie von Python: Geschichte von Python
  • Dann zeigen wir, wie man sehr schnell mit der interaktiven Shell erste kleine Erfolge verbuchen kann: Interaktiver Modus
  • Wie lässt sich Code ausführen und was passiert hinter den Kulissen von Python?
  • Python hat einen unorthodoxen Stil seine Skripte in Blöcke zu strukturieren.
  • Auch bei den Datentypen und Variablen ist vieles anders aber vor allen Dingen klarer als in anderen Programmiersprachen.
  • Die Operatoren sind hingegen so, wie man sie kennt und erwartet.
  • Python brilliert durch die Klarheit und Konsequenz mit der Sequentielle Datentypen wie Strings, Listen und Tupel wo immer es geht einheitlich behandelt werden.
  • im Kapitel Listen zeigen wir, wie man Listen mit den Methoden "pop", "insert", "append", "extend" und "remove" manipulieren kann. Außerdem demonstrieren wir, wie man Elemente in Listen finden kann.
  • Ein weiterer häufig genutzter Datentyp in Python sind die Mengen.
  • Hashes oder assoziative Arrays kennt man in Python als Dictionaries
  • Wenn es ums Kopieren von Listen und anderen Datenstrukturen geht, machen Anfänger gerne mal Fehler. Deshalb lohnt sich ein Blick in unser Kapitel "Flaches und tiefes Kopieren" in unserem Tutorial.
  • Was wäre eine Programmiersprache ohne die Möglichkeit von Benutzereingaben? Die Antwort ist klar. Sie wäre kaum sinnvoll nutzbar. Deshalb geht es in diesem Kapitel unseres Python-Tutorials um Benutzereingaben mit input .
  • Bedingte Anweisungen sind in Python so, wie man sie aus den meisten anderen Sprachen kennt.
  • Die while-Schleife ist wie gewohnt. Allerdings hat sie mit dem optionalen else-Zweig ein Feature was gerne übersehen und unterschätzt wird.
  • Die for-Schleife ähnelt der for-Schleife, wie man sie aus der Bash-Shell kennt.
  • Ausgaben mit print
  • Man will die Ausgaben eines Programmes natürlich in schöner und übersichtlicher Darstellung sehen, also eine formatierte Ausgabe
  • Die Funktionen zeichnen sich auch durch eine einfache und leicht zugängliche Syntax aus.
  • Wie sieht die Parameterübergabe in Python aus? Wertübergabe (Call by Value) oder Referenzübergabe (Call by Reference)?
  • Um Namensräume und Gültigkeitsbereiche von Variablen geht es in unserem Kapitel "Globale und lokale Variablen"
  • Fast alle größeren Skripte und Programme müssen lesend und schreibend auf Dateien zugreifen können.
  • Dann können Sie lernen, wie einfach man Module in Python erstellen kann.
  • Irgendwann kommt unweigerlich der Punkt, an dem man Module in Paketen zusammenfassen will oder muss.
  • Die Ausnahmebehandlung ist für viele Programmierer traditioneller Programmiersprachen wie C und Fortran ein unbekanntes Konzept, was sie häufig meiden, auch wenn Sie es in Python oder Java nutzen können.

Weitere Themen

Objektorientierte Programmierung in Python

Python-Kurs: Funktionale Programmierung

  • Zu Unrecht gefürchet: Rekursive Funktionen. Wir zeigen Ihnen, wie man in Python rekursiv programmiert.
  • Die Memoisation bezeichnet eine Technik in der Programmierung, die dazu dient Programme effizienter zu implementieren, indem Funktionswerte gespeichert werden.
  • Erst reguläre Ausdrücke machen eine Sprache für anspruchsvolle Textverarbeitung brauchbar. Deshalb haben wir eine detaillierte Einführung in das Thema Reguläre Ausdrücke und ein Kapitel für Fortgeschrittene ausgearbeitet, die hoffentlich keine Fragen offen lassen.
  • Wir zeigen Ihnen, dass Lambda-Operator, filter, reduce und map gar nicht so kompliziert wie ihr Ruf sind.
  • Einfacher als mit "Lambda und Co." geht es natürlich mit der List Comprehension (Listen-Abstraktion)
  • Generatoren schrecken viele ab, weil sie so abstrakt klingen, aber wie zeigen mit einfachen Beispielen, wie man sie lieben lernt.
  • In unserem Tutorial zu Python 3 haben wir das Kapitel über die objektorientierte Programmierung komplett neu überarbeitet. Aus einem Kapitel Klassen sind nun fünf umfangreiche und gut illustrierte Kapitel geworden:

Persönliche Python-Kurse und -Schulungen

Unser Tutorial haben wir geschrieben, um Python-Interessierten die Möglichkeit zu geben, im Selbststudium und kostenlos diese Programmiersprache zu erlernen. Aber manchmal gibt es gute Gründe einen firmeninternen Python-Kurs zu buchen oder an einer offenen Python-Schulung teilzunehmen:
  • schnelles und effektives Lernen durch einen Pythonkurs nach Ihrer Wahl
  • Möglichkeit eigene Programmierprobleme einzubringen und im Kursteam eine Lösung zu finden
  • erfahrene Ansprechpartner bei Verständnisfragen zu haben
  • Kontakt und Austausch mit anderen Kursteilnehmerinnen und Kursteilnehmer während und auch nach dem Kurs
  • Möglichkeit eigene Programmierprobleme einzubringen
  • ein Zertifikat über Ihre Python-Kentnisse nach dem Kurs
Überblick über unsere nächsten offenen Python-Schulungen
Kurs für Python und Maschinelles Lernen:
Termine:
vom 22. Januar bis 26. Januar 2024,
vom 04. März bis 08. März 2024,
vom 13. Mai bis 17. Mai 2024,
vom 01. Juli bis 05. Juli 2024,
vom 19. August bis 23. August 2024,
vom 16. September bis 20. September 2024,
Weitere Informationen zum Kurs|

Maschinelles Lernen von der Datenaufbereitung bis zum Deep Learning:
Termine:
vom 22. Januar bis 26. Januar 2024,
vom 04. März bis 08. März 2024,
vom 13. Mai bis 17. Mai 2024,
vom 01. Juli bis 05. Juli 2024,
vom 19. August bis 23. August 2024,
vom 16. September bis 20. September 2024,
Weitere Informationen zum Kurs|

Python-Grundlagen für Anfänger:
Termine:
vom 29. Januar bis 02. Februar 2024,
vom 18. März bis 22. März 2024,
vom 13. Mai bis 17. Mai 2024,
vom 24. Juni bis 28. Juni 2024,
vom 01. Juli bis 05. Juli 2024,
vom 05. August bis 09. August 2024,
Weitere Informationen zum Kurs|

Python-Intensivkurs für Anfänger:
Termine:
vom 15. Januar bis 19. Januar 2024,
vom 19. Februar bis 23. Februar 2024,
vom 18. März bis 22. März 2024,
vom 22. April bis 26. April 2024,
vom 13. Mai bis 17. Mai 2024,
vom 24. Juni bis 28. Juni 2024,
vom 22. Juli bis 26. Juli 2024,
vom 12. August bis 16. August 2024,
vom 23. September bis 27. September 2024,
Weitere Informationen zum Kurs|

Python-Kurs für Fortgeschrittene:
Termine:
vom 15. Januar bis 19. Januar 2024,
vom 19. Februar bis 23. Februar 2024,
vom 18. März bis 22. März 2024,
vom 22. April bis 26. April 2024,
vom 13. Mai bis 17. Mai 2024,
vom 24. Juni bis 28. Juni 2024,
vom 22. Juli bis 26. Juli 2024,
vom 12. August bis 16. August 2024,
vom 23. September bis 27. September 2024,
Weitere Informationen zum Kurs|

Fortgeschrittene Python-Techniken von Type Hinting bis Async/Await:
Termine:
vom 29. Januar bis 02. Februar 2024,
vom 26. Februar bis 01. März 2024,
vom 15. April bis 19. April 2024,
vom 13. Mai bis 17. Mai 2024,
vom 17. Juni bis 21. Juni 2024,
vom 01. Juli bis 05. Juli 2024,
vom 19. August bis 23. August 2024,
vom 16. September bis 20. September 2024,
Weitere Informationen zum Kurs|

Python-Techniken von Type Hinting bis Async/Await:
Termine:
vom 17. Januar bis 19. Januar 2024,
vom 21. Februar bis 23. Februar 2024,
vom 20. März bis 22. März 2024,
vom 24. April bis 26. April 2024,
vom 15. Mai bis 17. Mai 2024,
vom 01. Juli bis 03. Juli 2024,
Weitere Informationen zum Kurs|

Datenanalyse mit Python:
Termine:
vom 24. Januar bis 26. Januar 2024,
vom 28. Februar bis 01. März 2024,
vom 17. April bis 19. April 2024,
vom 15. Mai bis 17. Mai 2024,
vom 03. Juli bis 05. Juli 2024,
vom 21. August bis 23. August 2024,
vom 18. September bis 20. September 2024,
Weitere Informationen zum Kurs|

Objektorientierte Programmierung mit Python:
Termine:
vom 17. Januar bis 19. Januar 2024,
vom 21. Februar bis 23. Februar 2024,
vom 20. März bis 22. März 2024,
vom 24. April bis 26. April 2024,
vom 15. Mai bis 17. Mai 2024,
vom 26. Juni bis 28. Juni 2024,
vom 24. Juli bis 26. Juli 2024,
vom 14. August bis 16. August 2024,
vom 25. September bis 27. September 2024,
Weitere Informationen zum Kurs|

Python-Schulung: OOP und funktionale Programmierung:
Termine:
vom 17. Januar bis 19. Januar 2024,
vom 21. Februar bis 23. Februar 2024,
vom 20. März bis 22. März 2024,
vom 24. April bis 26. April 2024,
vom 15. Mai bis 17. Mai 2024,
vom 26. Juni bis 28. Juni 2024,
vom 24. Juli bis 26. Juli 2024,
vom 14. August bis 16. August 2024,
vom 25. September bis 27. September 2024,
Weitere Informationen zum Kurs|

Python-Kurs in Textverarbeitung, Computerlinguistik und Textklassifikation:
Termine:
vom 26. Februar bis 01. März 2024,
vom 13. Mai bis 17. Mai 2024,
vom 01. Juli bis 05. Juli 2024,
vom 19. August bis 23. August 2024,
Weitere Informationen zum Kurs|


Alle Python-Kurse finden als online-Kurse oder in folgenden Städten statt: Berlin, Hamburg, München, Köln, Frankfurt am Main, Stuttgart, Düsseldorf, Leipzig, Dortmund, Essen, Bremen, Dresden, Hannover, Nürnberg, Duisburg, Bochum, Wuppertal, Bielefeld, Bonn, Münster, Mannheim, Karlsruhe, Augsburg, Wiesbaden, Gelsenkirchen, Aachen, Braunschweig, Chemnitz, Kiel, Halle, Magdeburg, Freiburg im Breisgau, Krefeld, Mainz, Lübeck, Erfurt, Oberhausen, Rostock, Kassel, Hagen, Potsdam, Saarbrücken, Heidelberg, Ulm, Heilbronn, Pforzheim, Würzburg, Wolfsburg, Reutlingen, Kaiserslautern und Saarlouis


Mithilfe erwünscht

Mit dieser Webseite wollen wir eine Einführung in Python bieten, die sich sowohl an totale Programmieranfänger als auch an Umsteiger von anderen Programmiersprachen wendet. Aber es geht auch um Fortgeschrittene: In einer Rubrik geht es um anspruchsvollere Anwendungen zu verschiedenen Themen der Informatik, numerischen Mathematik oder auch der Textverarbeitung bzw. Textklassifikation.

Niemand und nichts ist perfekt. Wir hätten gerne ein perfektes Python-Tutorial. Deshalb sind wir ständig dabei diese Webseite zu verbessern, d.h. neue Inhalte hinzuzufügen, Kapitel zu erweitern und Fehler zu verbessern. Ja, und da wären wir beim Thema: Fehler sind immer ärgerlich für die Besucherinnen und Besucher unserer Tutorials und auch für die Autoren. Wir freuen uns deshalb, wenn wir Informationen über Unstimmigkeiten erhalten. Seien es
  • Flüchtigkeitsfehler
  • Fehler in den Beispielprogrammen oder Übungen
  • Fehler im Aufbau, d.h. man kann den Erklärungen an einer bestimmten Stelle nicht richtig folgen oder die Erklärung scheint nicht ganz stimmig zu sein.
  • was auch immer sonst
Sie erreichen uns ganz einfach über den Kontakt-Link ganz oben rechts!
Herzlichen Dank!

Kurs ungleich Kurs

Wir wollen kurz den Begriff definieren, und damit erklären, wie es zum Titel dieser Webseite kam. Das Wort Kurs wird im deutschen Sprachgebrauch recht unterschiedlich gebraucht. So denken Börsianer, wenn sie den Begriff hören, wohl meistens an steigende und fallende Kurse, aber nicht an Lerninhalte. Sie lesen häufig sogar eine Fachzeitung mit Namen "KURS". Notenbanken beschäftigt das Wertverhältnis ihrer Währung im Verhältnis zu anderen Währungen, also der sogenannte Wechselkurs. Außerdem spricht man auch von Kursen, wenn man Streckenverläufe von Bus- und Bahnlinien bezeichnet, aber auch zum Beispiel eine Rennstrecke.
Man hält auch ein Schiff oder Flugzeug auf Kurs, und das ist auch unsere Absicht in unserem Python-Kurs: Wir wollen Sie bei der Stange halten. Diese Seite stellt aber auch ein Curriculum - noch ein Synonym für Kurs - zur planmäßigen Vermittlung von Programmiertechniken und Algorithmen dar.

Tutorial

Tutorial ist ein englisches Lehnwort und wird vor allem in der Informatik und EDV dazu benutzt eine Gebrauchsanleitung für ein Computerprogramm oder eine Programmiersprache zu bezeichnen. In einem Tutorial wird die Bedienung und die Funktionen von Programmteilen oder Konstrukten einer Programmiersprache Schritt für Schritt und normalerweise mit vielen Beispielen erklärt.