1 option
Einstieg in Python : Grundlagen der Python-Programmierung Leicht und Verständlich Erklärt.
- Format:
- Book
- Author/Creator:
- Inden, Michael, author.
- Language:
- German
- Subjects (All):
- Image processing.
- Physical Description:
- 1 online resource (429 pages)
- Edition:
- 2nd ed.
- Place of Publication:
- Heidelberg : dpunkt.verlag, 2024.
- Summary:
- Richtig programmieren von Anfang an! - Umfangreiche Praxisprojekte laden zum Experimentieren ein - Sourcecode und Beispiele sind als Download verfügbar - Neu in der 2. Auflage: Bildverarbeitung und Large Language Models Mit diesem Buch gelingt Ihnen der Einstieg in Python mit Leichtigkeit, denn Sie werden auf Ihrer Entdeckungsreise vom erfahrenen Trainer Michael Inden begleitet. Zahlreiche Codebeispiele verdeutlichen die Lerninhalte und laden zum Experimentieren ein. Ergänzend werden Python-spezifische Besonderheiten erklärt, die Ihre Programme von Anfang an pythonic, stilistisch schön, machen. Das Erlernen wird durch einen interaktiven Einstieg mit dem Python-Kommandozeileninterpreter erleichtert, in dem Sie viele Beispiele direkt ausprobieren können und so schnelle Lernerfolge erzielen. Außerdem erfahren Sie, wie Sie eine Entwicklungsumgebung und die objektorientierte Programmierung sinnvoll einsetzen. Zahlreiche Aufgaben und Musterlösungen runden die Kapitel ab, sodass Sie schnell eigene Projekte verwirklichen können. Diese 2. Auflage ergänzt Kapitel zur Bildverarbeitung sowie zu populären LLMs und deren vielfältigen Einsatzmöglichkeiten. Schließlich werden die Neuerungen aus Python 3.13 im Anhang vorgestellt.
- Contents:
- Intro
- Inhaltsverzeichnis
- Vorwort
- I Einstieg
- 1 Einführung
- 1.1 Python im Überblick
- 1.2 Los geht's - Installation
- 1.2.1 Python-Download
- 1.2.2 Installation von Python
- 1.2.3 Nacharbeiten nach der Python-Installation
- 1.2.4 Python-Installation prüfen
- 1.2.5 Python-Programm als Skript ausführen
- 1.3 Arbeiten mit der Kommandozeile (Kurzeinführung)
- 1.3.1 Für macOS
- 1.3.2 Für Windows
- 1.3.3 IDLE als Alternative
- 1.4 Entwicklungsumgebung PyCharm (Optional)
- 1.4.1 Installation von PyCharm
- 1.4.2 PyCharm starten
- 1.4.3 Erstes Projekt in PyCharm
- 1.4.4 Erstes Modul in PyCharm
- 1.5 Ausprobieren der Beispiele
- 1.5.1 Python-Kommandozeileninterpreter
- 1.5.2 Texteditor und direkte Ausführung
- 1.5.3 IDE
- 1.5.4 Abschließender Hinweis
- 2 Schnelleinstieg
- 2.1 Hallo Welt (Hello World)
- 2.2 Variablen und Datentypen
- 2.2.1 Definition von Variablen
- 2.2.2 Variablen und Typen
- 2.2.3 Ausgaben mit print()
- 2.2.4 Bezeichner (Variablennamen)
- 2.3 Operatoren im Überblick
- 2.3.1 Arithmetische Operatoren
- 2.3.2 Zuweisungsoperatoren
- 2.3.3 Vergleichsoperatoren
- 2.3.4 Logische Operatoren
- 2.4 Fallunterscheidungen
- 2.5 Funktionen
- 2.5.1 Eigene Funktionen definieren
- 2.5.2 Nützliche Beispiele aus Python
- 2.6 Fehlerbehandlung und Exceptions
- 2.7 Kommentare
- 2.8 Module
- 2.8.1 Imports - Einbinden anderer Funktionalitäten
- 2.8.2 Zusammenfassung und Ergänzendes
- 2.9 Built-in-Datentypen
- 2.9.1 Listen (list)
- 2.9.2 Tupel (tuple)
- 2.9.3 Mengen (set)
- 2.9.4 Dictionaries (dict)
- 2.10 Schleifen
- 2.10.1 Besonderheit: Ranges
- 2.10.2 Indexbasierte for-in-Schleife
- 2.10.3 Wertebasierte for-in-Schleife
- 2.10.4 Die for-in-enumerate-Schleife mit Index und Wert
- 2.10.5 Die while-Schleife
- 2.11 Weiterführende Informationen
- 2.12 Aufgaben und Lösungen.
- 2.12.1 Aufgabe 1: Mathematische Berechnungen
- 2.12.2 Aufgabe 2: Bedingung vereinfachen
- 2.12.3 Aufgabe 3: Funktion und if
- 2.12.4 Aufgabe 4: Selbstabholerrabatt
- 2.12.5 Aufgabe 5: Schleifen mit Berechnungen
- 2.12.6 Aufgabe 6: Schleifen und fixe Schrittweite
- 2.12.7 Aufgabe 7: Schleifen mit variabler Schrittweite
- 2.12.8 Aufgabe 8: Verschachtelte Schleifen - Variante 1
- 2.12.9 Aufgabe 9: Verschachtelte Schleifen - Variante 2
- 2.12.10 Aufgabe 10: Verschachtelte Schleifen - Variante 3
- 3 Strings
- 3.1 Schnelleinstieg
- 3.1.1 Gebräuchliche Stringaktionen
- 3.1.2 Suchen, Enthaltensein und Ersetzen
- 3.1.3 Informationen extrahieren und formatieren
- 3.1.4 Praxisrelevante Funktionen im Kurzüberblick
- 3.2 Nächste Schritte
- 3.2.1 Zeichenverarbeitung
- 3.2.2 Strings und Listen
- 3.2.3 Mehrzeilige Strings
- 3.3 Aufgaben und Lösungen
- 3.3.1 Aufgabe 1: Länge, Zeichen und Enthaltensein
- 3.3.2 Aufgabe 2: Zeichen wiederholen
- 3.3.3 Aufgabe 3: Vokale raten
- 3.3.4 Aufgabe 4: String Merge
- 4 Klassen und Objektorientierung
- 4.1 Schnelleinstieg
- 4.1.1 Grundlagen zu Klassen und Objekten
- 4.1.2 Eigenschaften (Attribute)
- 4.1.3 Verhalten (Methoden)
- 4.1.4 Typprüfung mit isinstance()
- 4.1.5 Objekte vergleichen - die Rolle von __eq__()
- 4.2 Nächste Schritte
- 4.2.1 Klassen ausführbar machen
- 4.2.2 Packages
- 4.2.3 Übergang zum Einsatz einer IDE
- 4.2.4 Verstecken von Informationen
- 4.2.5 Packages: Auswirkungen auf unsere Applikation
- 4.3 Vererbung
- 4.4 Aufgaben und Lösungen
- 4.4.1 Aufgabe 1: Superheld
- 4.4.2 Aufgabe 2: Zähler
- 4.4.3 Aufgabe 3: Objekte mit Dictionary selbst gebaut
- 5 Collections
- 5.1 Schnelleinstieg
- 5.1.1 Die Klasse list
- 5.1.2 Die Klasse set
- 5.1.3 Die Klasse dict
- 5.2 Nächste Schritte
- 5.2.1 Comprehensions
- 5.2.2 Slicing - Zugriff auf Teilbereiche von Listen.
- 5.2.3 Sortierung - sort() / sorted()
- 5.2.4 Tauschen von Elementen - swap()
- 5.2.5 Reihenfolge umkehren - reverse() und reversed()
- 5.2.6 Mehrdimensionale Listen
- 5.3 Aufgaben und Lösungen
- 5.3.1 Aufgabe 1: Tennisverein-Mitgliederliste
- 5.3.2 Aufgabe 2: Liste mit Farbnamen füllen und filtern
- 5.3.3 Aufgabe 3: Duplikate entfernen - Variante 1
- 5.3.4 Aufgabe 4: Duplikate entfernen - Variante 2
- 5.3.5 Aufgabe 5: Hauptstädte
- 5.3.6 Aufgabe 6: Häufigkeiten von Namen
- 5.3.7 Aufgabe 7: Rotation um eine oder mehrere Positionen
- 5.3.8 Aufgabe 8: Dreieckige Liste: Upside Down
- 6 Ergänzendes Wissen
- 6.1 Benutzereingaben input()
- 6.2 Zufallswerte und das Modul random
- 6.3 Besonderheiten von Parametern
- 6.3.1 Parameter mit Position bzw. Name
- 6.3.2 Parameter mit Defaultwert
- 6.3.3 Var Args - variable Anzahl an Argumenten
- 6.4 Ternary-Operator
- 6.5 Aufzählungen mit Enum
- 6.6 Fallunterscheidungen mit match
- 6.7 break, continue und else in Schleifen
- 6.7.1 Funktionsweise von break und continue
- 6.7.2 Wie macht man es besser?
- 6.7.3 Besonderheit: else in Schleifen
- 6.8 Ausdrücke mit eval() auswerten
- 6.9 Rekursion
- 6.9.1 Einführendes Beispiel: Fakultät
- 6.9.2 Weiterführendes Beispiel: Fibonacci-Zahlen
- 6.9.3 Weiterführendes Beispiel: Lineal
- 6.10 Praxisbeispiel: Flächen füllen
- 6.11 Aufgaben und Lösungen
- 6.11.1 Aufgabe 1: Würfelspiel
- 6.11.2 Aufgabe 2: Temperaturumrechnung
- 6.11.3 Aufgabe 3: Palindrom-Prüfung mit Rekursion
- 6.11.4 Aufgabe 4: Einarmiger Bandit
- 6.11.5 Aufgabe 5: BMI-Rechner
- 7 Verarbeitung von Dateien
- 7.1 Schnelleinstieg
- 7.1.1 Anlegen von Dateien und Verzeichnissen
- 7.1.2 Informationen zu Verzeichnissen und Dateien
- 7.1.3 Informationen in Dateien schreiben und daraus lesen
- 7.1.4 Diverse Informationen ermitteln
- 7.1.5 Kopieren und Umbenennen
- 7.1.6 Löschen.
- 7.2 Praxisbeispiel: Directory-Baum darstellen
- 7.2.1 Basisvariante
- 7.2.2 Variante mit schönerer Darstellung
- 7.2.3 Finale Variante mit ausgeklügelter Darstellung
- 7.3 JSON-Verarbeitung
- 7.3.1 JSON in eine Datei schreiben
- 7.3.2 Lesen von JSON aus einer Datei
- 7.3.3 Pretty Printing
- 7.4 Aufgaben und Lösungen
- 7.4.1 Aufgabe 1: Texte in Datei schreiben und wieder lesen
- 7.4.2 Aufgabe 2: Dateigrößen
- 7.4.3 Aufgabe 3: Existenzprüfung
- 7.4.4 Aufgabe 4: Rechteprüfung
- 7.4.5 Aufgabe 5: Verzeichnisinhalt auflisten
- II Aufstieg
- 8 Collections Advanced
- 8.1 Sequenzielle Datentypen
- 8.2 Spaß mit Listen
- 8.2.1 Additionen und Multiplikationen mit Listen
- 8.2.2 Trickserei mit Slicing
- 8.3 Iteratoren
- 8.4 Generatoren
- 8.5 Datencontainer mit namedtuple
- 8.6 Einstieg in Lambdas
- 8.6.1 Syntax von Lambdas
- 8.6.2 Lambdas im Einsatz mit filter() und map()
- 8.6.3 Lambdas im Einsatz mit sort()
- 8.7 Aufgaben und Lösungen
- 8.7.1 Aufgabe 1: Obstkorb
- 8.7.2 Aufgabe 2: Erwachsene aus Personenliste extrahieren
- 8.7.3 Aufgabe 3: Eigene Implementierung von rindex()
- 8.7.4 Aufgabe 4: Every-N-th-Iterator
- 8.7.5 Aufgabe 5: Greeting-Generator
- 8.7.6 Aufgabe 6: Fibonacci-Generator
- 8.7.7 Aufgabe 7: Initialisierung mit List Comprehension und Multiplikation
- 9 Fehlerbehandlung mit Exceptions
- 9.1 Schnelleinstieg
- 9.1.1 Fehlerbehandlung
- 9.1.2 Exceptions selbst auslösen - raise
- 9.1.3 Eigene Exception-Typen definieren
- 9.1.4 Exceptions propagieren - throws
- 9.2 Fehlerbehandlung in der Praxis
- 9.2.1 Exceptions für Bereichsprüfungen
- 9.2.2 Elegante Prüfungen mit assert
- 9.3 Automatic Resource Management (with)
- 9.4 Aufgaben und Lösungen
- 9.4.1 Aufgabe 1: Abgesicherter Indexzugriff - Kür mit Fallback
- 9.4.2 Aufgabe 2: Resource Handling
- 10 Datumsverarbeitung
- 10.1 Schnelleinstieg.
- 10.1.1 Zeitpunkte und die Klasse datetime
- 10.1.2 Datumswerte und die Klasse date
- 10.1.3 Zeit und die Klasse time
- 10.1.4 Zeitdifferenzen und die Klasse timedelta
- 10.1.5 Berechnungen mit Datumswerten
- 10.1.6 Formatierung und Parsing
- 10.2 Praxisbeispiel: Kalenderausgabe
- 10.3 Aufgaben und Lösungen
- 10.3.1 Aufgabe 1: Wochentage
- 10.3.2 Aufgabe 2: Freitag, der 13.
- 10.3.3 Aufgabe 3: Mehrmals Freitag, der 13.
- 10.3.4 Aufgabe 4: Schaltjahre
- 11 Bildverarbeitung und Kontakt zur Außenwelt
- 11.1 Die Bibliothek Pillow / PIL
- 11.1.1 Installation und Import
- 11.1.2 Bildverarbeitung
- 11.1.3 Praxisbeispiel
- 11.1.4 Weiterführende Informationen
- 11.2 Das Modul requests
- 11.2.1 Installation und Import
- 11.2.2 Request absetzen - auf Webseite zugreifen
- 11.2.3 Wesentliche HTTP-Kommandos (GET, POST, PUT, DELETE, HEAD)
- 11.2.4 Response als Datei sichern
- 11.2.5 Weiterführende Informationen
- 11.3 Das Modul webbrowser
- 11.3.1 Datei im Webbrowser öffnen
- 11.3.2 Google-Suche programmatisch ausführen
- 12 LLMs mit Python im Kurzüberblick
- 12.1 Einführung
- 12.1.1 Was sind LLMs? Geschichte und Einsatzgebiete
- 12.2 Einführende Beispiele mit transformers
- 12.2.1 Textgenerierung mit transformers
- 12.2.2 Analyse von Texten
- 12.2.3 Was haben wir bisher gelernt?
- 12.3 Experimente mit OpenAI
- 12.3.1 Textgenerierung
- 12.3.2 Sourcecode erklären lassen
- 12.3.3 Sourcecode generieren lassen
- 12.3.4 Textnachricht in MP3 wandeln
- 12.3.5 Bildgenerierung
- 12.3.6 Weiterführende Infos
- III Praxisbeispiele
- 13 Praxisbeispiel: Tic Tac Toe
- 13.1 Spielfeld initialisieren und darstellen
- 13.2 Setzen der Steine
- 13.3 Prüfen auf Sieg
- 13.4 Bausteine im Einsatz
- 14 Praxisbeispiel: CSV-Highscore-Liste einlesen
- 14.1 Verarbeitung von Spielständen (Highscores)
- 14.2 Extraktion der Daten.
- 14.3 Besonderheiten der Implementierung.
- Notes:
- Description based on publisher supplied metadata and other sources.
- ISBN:
- 9783988902092
- 3988902098
- 9783988902085
- 398890208X
- OCLC:
- 1478702817
The Penn Libraries is committed to describing library materials using current, accurate, and responsible language. If you discover outdated or inaccurate language, please fill out this feedback form to report it and suggest alternative language.