python für einsteiger -...
TRANSCRIPT
![Page 1: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/1.jpg)
Python für EinsteigerTutorium über drei Stunden
Thomas Lotze
gocept gmbh & co. kgHalle (Saale)
4.10.2011, PyCon DE, Leipzig
![Page 2: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/2.jpg)
Gliederung
1 Einleitung
2 Hallo WeltDie Entwicklungsumgebung idlePython-Programme
3 Grundzüge der Sprache PythonPython im VergleichGrundlegende Programmkonstrukte
4 DatentypenEinfache TypenSequenzen: Zeichenketten, Listen, TupelUngeordnete Sammlungen: Dictionarys, MengenWeitere
5 Klassen
![Page 3: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/3.jpg)
Gliederung
1 Einleitung
2 Hallo WeltDie Entwicklungsumgebung idlePython-Programme
3 Grundzüge der Sprache PythonPython im VergleichGrundlegende Programmkonstrukte
4 DatentypenEinfache TypenSequenzen: Zeichenketten, Listen, TupelUngeordnete Sammlungen: Dictionarys, MengenWeitere
5 Klassen
![Page 4: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/4.jpg)
Gliederung
1 Einleitung
2 Hallo WeltDie Entwicklungsumgebung idlePython-Programme
3 Grundzüge der Sprache PythonPython im VergleichGrundlegende Programmkonstrukte
4 DatentypenEinfache TypenSequenzen: Zeichenketten, Listen, TupelUngeordnete Sammlungen: Dictionarys, MengenWeitere
5 Klassen
![Page 5: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/5.jpg)
Gliederung
1 Einleitung
2 Hallo WeltDie Entwicklungsumgebung idlePython-Programme
3 Grundzüge der Sprache PythonPython im VergleichGrundlegende Programmkonstrukte
4 DatentypenEinfache TypenSequenzen: Zeichenketten, Listen, TupelUngeordnete Sammlungen: Dictionarys, MengenWeitere
5 Klassen
![Page 6: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/6.jpg)
Gliederung
1 Einleitung
2 Hallo WeltDie Entwicklungsumgebung idlePython-Programme
3 Grundzüge der Sprache PythonPython im VergleichGrundlegende Programmkonstrukte
4 DatentypenEinfache TypenSequenzen: Zeichenketten, Listen, TupelUngeordnete Sammlungen: Dictionarys, MengenWeitere
5 Klassen
![Page 7: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/7.jpg)
Gliederung
1 Einleitung
2 Hallo WeltDie Entwicklungsumgebung idlePython-Programme
3 Grundzüge der Sprache PythonPython im VergleichGrundlegende Programmkonstrukte
4 DatentypenEinfache TypenSequenzen: Zeichenketten, Listen, TupelUngeordnete Sammlungen: Dictionarys, MengenWeitere
5 Klassen
![Page 8: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/8.jpg)
Einleitung
Über das Thema: Was ist Python?interpretiert: schneller Entwicklungszyklus, einbettenimperativ mit Anleihen bei funktionalen Sprachenintuitiv, insbesondere gut lesbar
Über den Tutor: Python bei goceptgocept arbeitet von Anfang an (2000) mit Python und Zopepersönlich seit 2004
Über das Publikum: Vorwissen, Erwartungen, Wünsche?
![Page 9: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/9.jpg)
Einleitung
Über das Thema: Was ist Python?interpretiert: schneller Entwicklungszyklus, einbettenimperativ mit Anleihen bei funktionalen Sprachenintuitiv, insbesondere gut lesbar
Über den Tutor: Python bei goceptgocept arbeitet von Anfang an (2000) mit Python und Zopepersönlich seit 2004
Über das Publikum: Vorwissen, Erwartungen, Wünsche?
![Page 10: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/10.jpg)
Einleitung
Über das Thema: Was ist Python?interpretiert: schneller Entwicklungszyklus, einbettenimperativ mit Anleihen bei funktionalen Sprachenintuitiv, insbesondere gut lesbar
Über den Tutor: Python bei goceptgocept arbeitet von Anfang an (2000) mit Python und Zopepersönlich seit 2004
Über das Publikum: Vorwissen, Erwartungen, Wünsche?
![Page 11: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/11.jpg)
Einleitung
Über das Thema: Was ist Python?interpretiert: schneller Entwicklungszyklus, einbettenimperativ mit Anleihen bei funktionalen Sprachenintuitiv, insbesondere gut lesbar
Über den Tutor: Python bei goceptgocept arbeitet von Anfang an (2000) mit Python und Zopepersönlich seit 2004
Über das Publikum: Vorwissen, Erwartungen, Wünsche?
![Page 12: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/12.jpg)
Einleitung
Über das Thema: Was ist Python?interpretiert: schneller Entwicklungszyklus, einbettenimperativ mit Anleihen bei funktionalen Sprachenintuitiv, insbesondere gut lesbar
Über den Tutor: Python bei goceptgocept arbeitet von Anfang an (2000) mit Python und Zopepersönlich seit 2004
Über das Publikum: Vorwissen, Erwartungen, Wünsche?
![Page 13: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/13.jpg)
Einleitung
Über das Thema: Was ist Python?interpretiert: schneller Entwicklungszyklus, einbettenimperativ mit Anleihen bei funktionalen Sprachenintuitiv, insbesondere gut lesbar
Über den Tutor: Python bei goceptgocept arbeitet von Anfang an (2000) mit Python und Zopepersönlich seit 2004
Über das Publikum: Vorwissen, Erwartungen, Wünsche?
![Page 14: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/14.jpg)
Einleitung
Über das Thema: Was ist Python?interpretiert: schneller Entwicklungszyklus, einbettenimperativ mit Anleihen bei funktionalen Sprachenintuitiv, insbesondere gut lesbar
Über den Tutor: Python bei goceptgocept arbeitet von Anfang an (2000) mit Python und Zopepersönlich seit 2004
Über das Publikum: Vorwissen, Erwartungen, Wünsche?
![Page 15: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/15.jpg)
Einleitung
Über das Thema: Was ist Python?interpretiert: schneller Entwicklungszyklus, einbettenimperativ mit Anleihen bei funktionalen Sprachenintuitiv, insbesondere gut lesbar
Über den Tutor: Python bei goceptgocept arbeitet von Anfang an (2000) mit Python und Zopepersönlich seit 2004
Über das Publikum: Vorwissen, Erwartungen, Wünsche?
![Page 16: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/16.jpg)
Gliederung
1 Einleitung
2 Hallo WeltDie Entwicklungsumgebung idlePython-Programme
3 Grundzüge der Sprache PythonPython im VergleichGrundlegende Programmkonstrukte
4 DatentypenEinfache TypenSequenzen: Zeichenketten, Listen, TupelUngeordnete Sammlungen: Dictionarys, MengenWeitere
5 Klassen
![Page 17: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/17.jpg)
Gliederung
1 Einleitung
2 Hallo WeltDie Entwicklungsumgebung idlePython-Programme
3 Grundzüge der Sprache PythonPython im VergleichGrundlegende Programmkonstrukte
4 DatentypenEinfache TypenSequenzen: Zeichenketten, Listen, TupelUngeordnete Sammlungen: Dictionarys, MengenWeitere
5 Klassen
![Page 18: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/18.jpg)
Der Python-Interpreter
starten, z.B.
$ .../Python-3.2/bin/idle3
Fenster öffnet sichPython 3.2.2 (default, Sep 12 2011, 06:35:27)[GCC 4.5.2] on linux2Type "copyright", "credits" or "license()" for more information.>>>
Funktionstest: Taschenrechner
>>> 2 + 24
Eingaben wiederholen, im Shell-Fenster suchen
![Page 19: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/19.jpg)
Der Python-Interpreter
starten, z.B.
$ .../Python-3.2/bin/idle3
Fenster öffnet sichPython 3.2.2 (default, Sep 12 2011, 06:35:27)[GCC 4.5.2] on linux2Type "copyright", "credits" or "license()" for more information.>>>
Funktionstest: Taschenrechner
>>> 2 + 24
Eingaben wiederholen, im Shell-Fenster suchen
![Page 20: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/20.jpg)
Der Python-Interpreter
starten, z.B.
$ .../Python-3.2/bin/idle3
Fenster öffnet sichPython 3.2.2 (default, Sep 12 2011, 06:35:27)[GCC 4.5.2] on linux2Type "copyright", "credits" or "license()" for more information.>>>
Funktionstest: Taschenrechner
>>> 2 + 24
Eingaben wiederholen, im Shell-Fenster suchen
![Page 21: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/21.jpg)
Der Python-Interpreter
starten, z.B.
$ .../Python-3.2/bin/idle3
Fenster öffnet sichPython 3.2.2 (default, Sep 12 2011, 06:35:27)[GCC 4.5.2] on linux2Type "copyright", "credits" or "license()" for more information.>>>
Funktionstest: Taschenrechner
>>> 2 + 24
Eingaben wiederholen, im Shell-Fenster suchen
![Page 22: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/22.jpg)
Python als Taschenrechner
Grundrechenarten, Klammern
>>> (10 - 2) * 432
Gleitkommazahlen
>>> (10 - 2) / 42.0>>> (10.5 - 2.5) * 432.0
Potenzen und Ganzzahldivision>>> 2 ** 38>>> 10 // 42>>> -10 // 4-3
![Page 23: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/23.jpg)
Python als Taschenrechner
Grundrechenarten, Klammern
>>> (10 - 2) * 432
Gleitkommazahlen
>>> (10 - 2) / 42.0>>> (10.5 - 2.5) * 432.0
Potenzen und Ganzzahldivision>>> 2 ** 38>>> 10 // 42>>> -10 // 4-3
![Page 24: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/24.jpg)
Python als Taschenrechner
Grundrechenarten, Klammern
>>> (10 - 2) * 432
Gleitkommazahlen
>>> (10 - 2) / 42.0>>> (10.5 - 2.5) * 432.0
Potenzen und Ganzzahldivision>>> 2 ** 38>>> 10 // 42>>> -10 // 4-3
![Page 25: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/25.jpg)
Ausdrücke und Anweisungen
gesehen: Python-Shell liest Ausdruck ein, berechnet ihn,gibt seinen Wert aus>>> 2 + 24
auch möglich: Python-Shell liest Anweisung ein, führt sieaus, kein Wert zum Ausgeben; Beispiel: Zuweisung>>> x = 2 + 2
Anweisungen haben Nebenwirkungen: Variable mit Wertbelegt, kann in Ausdrücken verwendet werden>>> x4>>> x + 37
![Page 26: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/26.jpg)
Ausdrücke und Anweisungen
gesehen: Python-Shell liest Ausdruck ein, berechnet ihn,gibt seinen Wert aus>>> 2 + 24
auch möglich: Python-Shell liest Anweisung ein, führt sieaus, kein Wert zum Ausgeben; Beispiel: Zuweisung>>> x = 2 + 2
Anweisungen haben Nebenwirkungen: Variable mit Wertbelegt, kann in Ausdrücken verwendet werden>>> x4>>> x + 37
![Page 27: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/27.jpg)
Ausdrücke und Anweisungen
gesehen: Python-Shell liest Ausdruck ein, berechnet ihn,gibt seinen Wert aus>>> 2 + 24
auch möglich: Python-Shell liest Anweisung ein, führt sieaus, kein Wert zum Ausgeben; Beispiel: Zuweisung>>> x = 2 + 2
Anweisungen haben Nebenwirkungen: Variable mit Wertbelegt, kann in Ausdrücken verwendet werden>>> x4>>> x + 37
![Page 28: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/28.jpg)
Fehler
Beispiel: unverständliche Eingabe>>> 2 2SyntaxError: invalid syntax
Beispiel: unbekannte Variable wird benutzt>>> yTraceback (most recent call last):...
NameError: name ’y’ is not defined
Fehler werden abgefangen, Interpreter läuft weiterFehlermeldung informativ: Art des Fehlers, ggf. Ort imProgramm
![Page 29: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/29.jpg)
Fehler
Beispiel: unverständliche Eingabe>>> 2 2SyntaxError: invalid syntax
Beispiel: unbekannte Variable wird benutzt>>> yTraceback (most recent call last):...
NameError: name ’y’ is not defined
Fehler werden abgefangen, Interpreter läuft weiterFehlermeldung informativ: Art des Fehlers, ggf. Ort imProgramm
![Page 30: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/30.jpg)
Fehler
Beispiel: unverständliche Eingabe>>> 2 2SyntaxError: invalid syntax
Beispiel: unbekannte Variable wird benutzt>>> yTraceback (most recent call last):...
NameError: name ’y’ is not defined
Fehler werden abgefangen, Interpreter läuft weiterFehlermeldung informativ: Art des Fehlers, ggf. Ort imProgramm
![Page 31: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/31.jpg)
Fehler
Beispiel: unverständliche Eingabe>>> 2 2SyntaxError: invalid syntax
Beispiel: unbekannte Variable wird benutzt>>> yTraceback (most recent call last):...
NameError: name ’y’ is not defined
Fehler werden abgefangen, Interpreter läuft weiterFehlermeldung informativ: Art des Fehlers, ggf. Ort imProgramm
![Page 32: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/32.jpg)
Gliederung
1 Einleitung
2 Hallo WeltDie Entwicklungsumgebung idlePython-Programme
3 Grundzüge der Sprache PythonPython im VergleichGrundlegende Programmkonstrukte
4 DatentypenEinfache TypenSequenzen: Zeichenketten, Listen, TupelUngeordnete Sammlungen: Dictionarys, MengenWeitere
5 Klassen
![Page 33: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/33.jpg)
Programm schreiben und ausführen
in idle neues Fenster öffnen, Programm schreiben
1 x = 12 x
Programm speichern (C-S), ausführen (F5)>>> ========== RESTART ==========>>>
keine Ausgabe: Ausdruck wird zwar ausgewertet, abernichts sorgt dafür, daß der Wert ausgegeben wird
![Page 34: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/34.jpg)
Programm schreiben und ausführen
in idle neues Fenster öffnen, Programm schreiben
1 x = 12 x
Programm speichern (C-S), ausführen (F5)>>> ========== RESTART ==========>>>
keine Ausgabe: Ausdruck wird zwar ausgewertet, abernichts sorgt dafür, daß der Wert ausgegeben wird
![Page 35: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/35.jpg)
Programm schreiben und ausführen
in idle neues Fenster öffnen, Programm schreiben
1 x = 12 x
Programm speichern (C-S), ausführen (F5)>>> ========== RESTART ==========>>>
keine Ausgabe: Ausdruck wird zwar ausgewertet, abernichts sorgt dafür, daß der Wert ausgegeben wird
![Page 36: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/36.jpg)
Die Funktion print()
Wert eines Ausdrucks auf die Standardausgabe druckenx = 1print(x)
Zeichenketten ausgeben: print() druckt den Inhalt>>> print(’Hallo Welt\n==========’)Hallo Welt==========
Gegensatz: Interpreter gibt eine Darstellung aus>>> ’Hallo Welt\n==========’’Hallo Welt\n==========’
![Page 37: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/37.jpg)
Die Funktion print()
Wert eines Ausdrucks auf die Standardausgabe druckenx = 1print(x)
Zeichenketten ausgeben: print() druckt den Inhalt>>> print(’Hallo Welt\n==========’)Hallo Welt==========
Gegensatz: Interpreter gibt eine Darstellung aus>>> ’Hallo Welt\n==========’’Hallo Welt\n==========’
![Page 38: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/38.jpg)
Die Funktion print()
Wert eines Ausdrucks auf die Standardausgabe druckenx = 1print(x)
Zeichenketten ausgeben: print() druckt den Inhalt>>> print(’Hallo Welt\n==========’)Hallo Welt==========
Gegensatz: Interpreter gibt eine Darstellung aus>>> ’Hallo Welt\n==========’’Hallo Welt\n==========’
![Page 39: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/39.jpg)
Objektdarstellung
Ausdruck mit print() für den Nutzer des Programmsgedacht>>> print(2011)2011>>> print(’2011’)2011
Objektdarstellung macht Art des Objekts deutlich>>> 20112011>>> ’2011’’2011’
Objektdarstellung mit repr() erzeugen>>> print(repr(2011))2011>>> print(repr(’2011’))’2011’
![Page 40: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/40.jpg)
Objektdarstellung
Ausdruck mit print() für den Nutzer des Programmsgedacht>>> print(2011)2011>>> print(’2011’)2011
Objektdarstellung macht Art des Objekts deutlich>>> 20112011>>> ’2011’’2011’
Objektdarstellung mit repr() erzeugen>>> print(repr(2011))2011>>> print(repr(’2011’))’2011’
![Page 41: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/41.jpg)
Objektdarstellung
Ausdruck mit print() für den Nutzer des Programmsgedacht>>> print(2011)2011>>> print(’2011’)2011
Objektdarstellung macht Art des Objekts deutlich>>> 20112011>>> ’2011’’2011’
Objektdarstellung mit repr() erzeugen>>> print(repr(2011))2011>>> print(repr(’2011’))’2011’
![Page 42: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/42.jpg)
Eingebaute Funktionen
print(), repr() bereits gesehenhelp(): interaktive HilfeHilfe zu Funktionen: help(print), help(help)Variablen im Interpreter: dir(), locals()
![Page 43: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/43.jpg)
Eingebaute Funktionen
print(), repr() bereits gesehenhelp(): interaktive HilfeHilfe zu Funktionen: help(print), help(help)Variablen im Interpreter: dir(), locals()
![Page 44: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/44.jpg)
Eingebaute Funktionen
print(), repr() bereits gesehenhelp(): interaktive HilfeHilfe zu Funktionen: help(print), help(help)Variablen im Interpreter: dir(), locals()
![Page 45: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/45.jpg)
Eingebaute Funktionen
print(), repr() bereits gesehenhelp(): interaktive HilfeHilfe zu Funktionen: help(print), help(help)Variablen im Interpreter: dir(), locals()
![Page 46: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/46.jpg)
Gliederung
1 Einleitung
2 Hallo WeltDie Entwicklungsumgebung idlePython-Programme
3 Grundzüge der Sprache PythonPython im VergleichGrundlegende Programmkonstrukte
4 DatentypenEinfache TypenSequenzen: Zeichenketten, Listen, TupelUngeordnete Sammlungen: Dictionarys, MengenWeitere
5 Klassen
![Page 47: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/47.jpg)
Gliederung
1 Einleitung
2 Hallo WeltDie Entwicklungsumgebung idlePython-Programme
3 Grundzüge der Sprache PythonPython im VergleichGrundlegende Programmkonstrukte
4 DatentypenEinfache TypenSequenzen: Zeichenketten, Listen, TupelUngeordnete Sammlungen: Dictionarys, MengenWeitere
5 Klassen
![Page 48: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/48.jpg)
Beispiel: while-Schleife
bisher Einzeiler benutzt: syntaktisch trivialBlöcke: aufeinander bezogene Zeilenx = 1while x < 100:
print(x)x *= 2
Ergebnis:1248163264
![Page 49: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/49.jpg)
Beispiel: while-Schleife
bisher Einzeiler benutzt: syntaktisch trivialBlöcke: aufeinander bezogene Zeilenx = 1while x < 100:
print(x)x *= 2
Ergebnis:1248163264
![Page 50: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/50.jpg)
Beispiel: while-Schleife
bisher Einzeiler benutzt: syntaktisch trivialBlöcke: aufeinander bezogene Zeilenx = 1while x < 100:
print(x)x *= 2
Ergebnis:1248163264
![Page 51: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/51.jpg)
Zum Vergleich: Ruby und C
x = 1while x < 100
puts xx *= 2
end
x = 1while x < 100
puts(x)x *= 2
end
#include <stdio.h>void main(int argc, char *argv[]) {
int x = 1;while (x < 100) {printf("%d\n", x);x *= 2;
}
}
int x = 1;do {printf("%d\n", x);x *= 2;
} while (x < 100);
![Page 52: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/52.jpg)
Zum Vergleich: Ruby und C
x = 1while x < 100
puts xx *= 2
end
x = 1while x < 100
puts(x)x *= 2
end
#include <stdio.h>void main(int argc, char *argv[]) {
int x = 1;while (x < 100) {printf("%d\n", x);x *= 2;
}
}
int x = 1;do {
printf("%d\n", x);x *= 2;
} while (x < 100);
![Page 53: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/53.jpg)
Python im Vergleich
Blöcke durch Einrückung gekennzeichnet, durch :eingeleitetimplizite Zeilenenden, kein ;minimalistische Syntax: keine Klammern {}, keineunnötigen Schlüsselwörter (do)Klammern um FunktionsargumenteVariablen implizit deklariertnur eine Art von while-Schleifenprint() kann beliebige Objekte ausdruckenwesentliche Funktionen schon eingebautkein Grundgerüst (main)sinnvolle Vorgaben, z.B. impliziter Zeilenumbruch in print()
![Page 54: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/54.jpg)
Gliederung
1 Einleitung
2 Hallo WeltDie Entwicklungsumgebung idlePython-Programme
3 Grundzüge der Sprache PythonPython im VergleichGrundlegende Programmkonstrukte
4 DatentypenEinfache TypenSequenzen: Zeichenketten, Listen, TupelUngeordnete Sammlungen: Dictionarys, MengenWeitere
5 Klassen
![Page 55: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/55.jpg)
Schleifen
while-Schleifen bereits gesehenfor-Schleifen iterieren über Sammlungen von Elementen>>> for x in [1,2,4,7]:
print(x, end=’ ’)1 2 4 7
Iteration über Zahlenfolge mit range()>>> for x in range(3,7):
print(x, end=’ ’)3 4 5 6
ausdrucksstärker als Mechanik mit Schritt und AbbruchKonvention in Python: halboffene Intervalle, a ≤ x < b
![Page 56: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/56.jpg)
Schleifen
while-Schleifen bereits gesehenfor-Schleifen iterieren über Sammlungen von Elementen>>> for x in [1,2,4,7]:
print(x, end=’ ’)1 2 4 7
Iteration über Zahlenfolge mit range()>>> for x in range(3,7):
print(x, end=’ ’)3 4 5 6
ausdrucksstärker als Mechanik mit Schritt und AbbruchKonvention in Python: halboffene Intervalle, a ≤ x < b
![Page 57: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/57.jpg)
Schleifen
while-Schleifen bereits gesehenfor-Schleifen iterieren über Sammlungen von Elementen>>> for x in [1,2,4,7]:
print(x, end=’ ’)1 2 4 7
Iteration über Zahlenfolge mit range()>>> for x in range(3,7):
print(x, end=’ ’)3 4 5 6
ausdrucksstärker als Mechanik mit Schritt und AbbruchKonvention in Python: halboffene Intervalle, a ≤ x < b
![Page 58: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/58.jpg)
Schleifen
while-Schleifen bereits gesehenfor-Schleifen iterieren über Sammlungen von Elementen>>> for x in [1,2,4,7]:
print(x, end=’ ’)1 2 4 7
Iteration über Zahlenfolge mit range()>>> for x in range(3,7):
print(x, end=’ ’)3 4 5 6
ausdrucksstärker als Mechanik mit Schritt und AbbruchKonvention in Python: halboffene Intervalle, a ≤ x < b
![Page 59: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/59.jpg)
Schleifen
while-Schleifen bereits gesehenfor-Schleifen iterieren über Sammlungen von Elementen>>> for x in [1,2,4,7]:
print(x, end=’ ’)1 2 4 7
Iteration über Zahlenfolge mit range()>>> for x in range(3,7):
print(x, end=’ ’)3 4 5 6
ausdrucksstärker als Mechanik mit Schritt und AbbruchKonvention in Python: halboffene Intervalle, a ≤ x < b
![Page 60: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/60.jpg)
Bedingungen
einfache Alternativeif x > 0:
print(’positiv’)else:
print(’nicht positiv’)
mehrfache Fallunterscheidungif x > 0:
print(’positiv’)elif x < 0:
print(’negativ’)else:
print(’null’)
Python kennt kein switch, nur Mehrfachbedingungen
![Page 61: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/61.jpg)
Bedingungen
einfache Alternativeif x > 0:
print(’positiv’)else:
print(’nicht positiv’)
mehrfache Fallunterscheidungif x > 0:
print(’positiv’)elif x < 0:
print(’negativ’)else:
print(’null’)
Python kennt kein switch, nur Mehrfachbedingungen
![Page 62: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/62.jpg)
Bedingungen
einfache Alternativeif x > 0:
print(’positiv’)else:
print(’nicht positiv’)
mehrfache Fallunterscheidungif x > 0:
print(’positiv’)elif x < 0:
print(’negativ’)else:
print(’null’)
Python kennt kein switch, nur Mehrfachbedingungen
![Page 63: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/63.jpg)
Zusammen: for-Schleifen steuern
Aufgabe:Zeilen einer Datei lesennichtleere Zeilen zählen und ausgebenam Ende Anzahl der nichtleeren Zeilen ausgebenbei zu langer Zeile abbrechen, Fehler ausgeben
Datei lesen: open(), iterierbar wie range()for line in open(’foo.txt’):
print(line)
leere Zeile testen:if line == ’\n’:
Länge einer Zeichenkette bestimmen: len()print(x, y, z) druckt mehrere Dinge nacheinandercontinue, break, else
![Page 64: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/64.jpg)
Zusammen: for-Schleifen steuern
Aufgabe:Zeilen einer Datei lesennichtleere Zeilen zählen und ausgebenam Ende Anzahl der nichtleeren Zeilen ausgebenbei zu langer Zeile abbrechen, Fehler ausgeben
Datei lesen: open(), iterierbar wie range()for line in open(’foo.txt’):
print(line)
leere Zeile testen:if line == ’\n’:
Länge einer Zeichenkette bestimmen: len()print(x, y, z) druckt mehrere Dinge nacheinandercontinue, break, else
![Page 65: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/65.jpg)
Zusammen: for-Schleifen steuern
Aufgabe:Zeilen einer Datei lesennichtleere Zeilen zählen und ausgebenam Ende Anzahl der nichtleeren Zeilen ausgebenbei zu langer Zeile abbrechen, Fehler ausgeben
Datei lesen: open(), iterierbar wie range()for line in open(’foo.txt’):
print(line)
leere Zeile testen:if line == ’\n’:
Länge einer Zeichenkette bestimmen: len()print(x, y, z) druckt mehrere Dinge nacheinandercontinue, break, else
![Page 66: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/66.jpg)
Zusammen: for-Schleifen steuern
Aufgabe:Zeilen einer Datei lesennichtleere Zeilen zählen und ausgebenam Ende Anzahl der nichtleeren Zeilen ausgebenbei zu langer Zeile abbrechen, Fehler ausgeben
Datei lesen: open(), iterierbar wie range()for line in open(’foo.txt’):
print(line)
leere Zeile testen:if line == ’\n’:
Länge einer Zeichenkette bestimmen: len()print(x, y, z) druckt mehrere Dinge nacheinandercontinue, break, else
![Page 67: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/67.jpg)
Zusammen: for-Schleifen steuern
Aufgabe:Zeilen einer Datei lesennichtleere Zeilen zählen und ausgebenam Ende Anzahl der nichtleeren Zeilen ausgebenbei zu langer Zeile abbrechen, Fehler ausgeben
Datei lesen: open(), iterierbar wie range()for line in open(’foo.txt’):
print(line)
leere Zeile testen:if line == ’\n’:
Länge einer Zeichenkette bestimmen: len()print(x, y, z) druckt mehrere Dinge nacheinandercontinue, break, else
![Page 68: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/68.jpg)
Zusammen: for-Schleifen steuern
Aufgabe:Zeilen einer Datei lesennichtleere Zeilen zählen und ausgebenam Ende Anzahl der nichtleeren Zeilen ausgebenbei zu langer Zeile abbrechen, Fehler ausgeben
Datei lesen: open(), iterierbar wie range()for line in open(’foo.txt’):
print(line)
leere Zeile testen:if line == ’\n’:
Länge einer Zeichenkette bestimmen: len()print(x, y, z) druckt mehrere Dinge nacheinandercontinue, break, else
![Page 69: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/69.jpg)
Zusammen: for-Schleifen steuern
Aufgabe:Zeilen einer Datei lesennichtleere Zeilen zählen und ausgebenam Ende Anzahl der nichtleeren Zeilen ausgebenbei zu langer Zeile abbrechen, Fehler ausgeben
Datei lesen: open(), iterierbar wie range()for line in open(’foo.txt’):
print(line)
leere Zeile testen:if line == ’\n’:
Länge einer Zeichenkette bestimmen: len()print(x, y, z) druckt mehrere Dinge nacheinandercontinue, break, else
![Page 70: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/70.jpg)
Zusammen: for-Schleifen steuern
Aufgabe:Zeilen einer Datei lesennichtleere Zeilen zählen und ausgebenam Ende Anzahl der nichtleeren Zeilen ausgebenbei zu langer Zeile abbrechen, Fehler ausgeben
Datei lesen: open(), iterierbar wie range()for line in open(’foo.txt’):
print(line)
leere Zeile testen:if line == ’\n’:
Länge einer Zeichenkette bestimmen: len()print(x, y, z) druckt mehrere Dinge nacheinandercontinue, break, else
![Page 71: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/71.jpg)
Zusammen: for-Schleifen steuern
Lösung:i = 0for line in open(’foo.txt’):
if line == ’\n’:continue
i += 1if len(line) > 80:
print(’Zeile zu lang’)break
print(line, end=’’)else:
print(’nichtleere Zeilen:’, i)
![Page 72: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/72.jpg)
while-Schleifen steuern
syntaktisch analog zu for-Schleifenfußgesteuerte Schleife:
i = 10while i < 10:
print(i)
i = 10while True:
print(i)if i >= 10:
break
![Page 73: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/73.jpg)
while-Schleifen steuern
syntaktisch analog zu for-Schleifenfußgesteuerte Schleife:
i = 10while i < 10:
print(i)
i = 10while True:
print(i)if i >= 10:
break
![Page 74: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/74.jpg)
Schleifen und Bedingungen in Ausdrücken
Listenausdrücke>>> [2*x for x in range(5)][0, 2, 4, 6, 8]
Listenausdrücke mit Filter>>> [x/2 for x in range(5) if x % 2 == 0][0.0, 1.0, 2.0]
bedingte Ausdrücke>>> x = -1>>> (’positiv’ if x > 0 else
’negativ’ if x < 0 else ’null’)’negativ’
ausdrucksstärker, weniger mechanischkann verschachtelt werden, wird aber unübersichtlich
![Page 75: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/75.jpg)
Schleifen und Bedingungen in Ausdrücken
Listenausdrücke>>> [2*x for x in range(5)][0, 2, 4, 6, 8]
Listenausdrücke mit Filter>>> [x/2 for x in range(5) if x % 2 == 0][0.0, 1.0, 2.0]
bedingte Ausdrücke>>> x = -1>>> (’positiv’ if x > 0 else
’negativ’ if x < 0 else ’null’)’negativ’
ausdrucksstärker, weniger mechanischkann verschachtelt werden, wird aber unübersichtlich
![Page 76: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/76.jpg)
Schleifen und Bedingungen in Ausdrücken
Listenausdrücke>>> [2*x for x in range(5)][0, 2, 4, 6, 8]
Listenausdrücke mit Filter>>> [x/2 for x in range(5) if x % 2 == 0][0.0, 1.0, 2.0]
bedingte Ausdrücke>>> x = -1>>> (’positiv’ if x > 0 else
’negativ’ if x < 0 else ’null’)’negativ’
ausdrucksstärker, weniger mechanischkann verschachtelt werden, wird aber unübersichtlich
![Page 77: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/77.jpg)
Schleifen und Bedingungen in Ausdrücken
Listenausdrücke>>> [2*x for x in range(5)][0, 2, 4, 6, 8]
Listenausdrücke mit Filter>>> [x/2 for x in range(5) if x % 2 == 0][0.0, 1.0, 2.0]
bedingte Ausdrücke>>> x = -1>>> (’positiv’ if x > 0 else
’negativ’ if x < 0 else ’null’)’negativ’
ausdrucksstärker, weniger mechanischkann verschachtelt werden, wird aber unübersichtlich
![Page 78: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/78.jpg)
Schleifen und Bedingungen in Ausdrücken
Listenausdrücke>>> [2*x for x in range(5)][0, 2, 4, 6, 8]
Listenausdrücke mit Filter>>> [x/2 for x in range(5) if x % 2 == 0][0.0, 1.0, 2.0]
bedingte Ausdrücke>>> x = -1>>> (’positiv’ if x > 0 else
’negativ’ if x < 0 else ’null’)’negativ’
ausdrucksstärker, weniger mechanischkann verschachtelt werden, wird aber unübersichtlich
![Page 79: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/79.jpg)
Funktionen
zurück zum Beispielprogramm: wiederverwendbar machenAufgabe:
Algorithmus zum Zeilenzählen auf beliebige DateienanwendenGrenze für Zeilenlänge konfigurierbar, sinnvolle VorgabeZeilenzahl soll weiterverarbeitet werden könnenFehlerbehandlung
Funktionen definieren mit def:def algorithm(input1, input2,
option1=’foo’, option2=False):"""Apply the algorithm."""pass
Wert des Aufrufs zurückgeben mit returnimpliziter Rückgabewert None
![Page 80: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/80.jpg)
Funktionen
zurück zum Beispielprogramm: wiederverwendbar machenAufgabe:
Algorithmus zum Zeilenzählen auf beliebige DateienanwendenGrenze für Zeilenlänge konfigurierbar, sinnvolle VorgabeZeilenzahl soll weiterverarbeitet werden könnenFehlerbehandlung
Funktionen definieren mit def:def algorithm(input1, input2,
option1=’foo’, option2=False):"""Apply the algorithm."""pass
Wert des Aufrufs zurückgeben mit returnimpliziter Rückgabewert None
![Page 81: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/81.jpg)
Funktionen
zurück zum Beispielprogramm: wiederverwendbar machenAufgabe:
Algorithmus zum Zeilenzählen auf beliebige DateienanwendenGrenze für Zeilenlänge konfigurierbar, sinnvolle VorgabeZeilenzahl soll weiterverarbeitet werden könnenFehlerbehandlung
Funktionen definieren mit def:def algorithm(input1, input2,
option1=’foo’, option2=False):"""Apply the algorithm."""pass
Wert des Aufrufs zurückgeben mit returnimpliziter Rückgabewert None
![Page 82: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/82.jpg)
Funktionen
zurück zum Beispielprogramm: wiederverwendbar machenAufgabe:
Algorithmus zum Zeilenzählen auf beliebige DateienanwendenGrenze für Zeilenlänge konfigurierbar, sinnvolle VorgabeZeilenzahl soll weiterverarbeitet werden könnenFehlerbehandlung
Funktionen definieren mit def:def algorithm(input1, input2,
option1=’foo’, option2=False):"""Apply the algorithm."""pass
Wert des Aufrufs zurückgeben mit returnimpliziter Rückgabewert None
![Page 83: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/83.jpg)
Funktionen
zurück zum Beispielprogramm: wiederverwendbar machenAufgabe:
Algorithmus zum Zeilenzählen auf beliebige DateienanwendenGrenze für Zeilenlänge konfigurierbar, sinnvolle VorgabeZeilenzahl soll weiterverarbeitet werden könnenFehlerbehandlung
Funktionen definieren mit def:def algorithm(input1, input2,
option1=’foo’, option2=False):"""Apply the algorithm."""pass
Wert des Aufrufs zurückgeben mit returnimpliziter Rückgabewert None
![Page 84: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/84.jpg)
Funktionen
zurück zum Beispielprogramm: wiederverwendbar machenAufgabe:
Algorithmus zum Zeilenzählen auf beliebige DateienanwendenGrenze für Zeilenlänge konfigurierbar, sinnvolle VorgabeZeilenzahl soll weiterverarbeitet werden könnenFehlerbehandlung
Funktionen definieren mit def:def algorithm(input1, input2,
option1=’foo’, option2=False):"""Apply the algorithm."""pass
Wert des Aufrufs zurückgeben mit returnimpliziter Rückgabewert None
![Page 85: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/85.jpg)
Funktionen
zurück zum Beispielprogramm: wiederverwendbar machenAufgabe:
Algorithmus zum Zeilenzählen auf beliebige DateienanwendenGrenze für Zeilenlänge konfigurierbar, sinnvolle VorgabeZeilenzahl soll weiterverarbeitet werden könnenFehlerbehandlung
Funktionen definieren mit def:def algorithm(input1, input2,
option1=’foo’, option2=False):"""Apply the algorithm."""pass
Wert des Aufrufs zurückgeben mit returnimpliziter Rückgabewert None
![Page 86: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/86.jpg)
Funktionen
zurück zum Beispielprogramm: wiederverwendbar machenAufgabe:
Algorithmus zum Zeilenzählen auf beliebige DateienanwendenGrenze für Zeilenlänge konfigurierbar, sinnvolle VorgabeZeilenzahl soll weiterverarbeitet werden könnenFehlerbehandlung
Funktionen definieren mit def:def algorithm(input1, input2,
option1=’foo’, option2=False):"""Apply the algorithm."""pass
Wert des Aufrufs zurückgeben mit returnimpliziter Rückgabewert None
![Page 87: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/87.jpg)
Funktionen
Lösung:def count_lines(filename, max_len=80):
i = 0for line in open(filename):
if line == ’\n’:continue
i += 1if len(line) > max_len:
print(’Zeile zu lang’)break
print(line, end=’’)else:
print(’nichtleere Zeilen:’, i)return i
![Page 88: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/88.jpg)
Funktionen
ohne Fehler:>>> x = count_lines(’zeilen.txt’)einseins zweieins zwei dreinichtleere Zeilen: 3>>> x3
Fehler provozieren:>>> x = count_lines(’zeilen.txt’, max_len=10)einseins zweiZeile zu lang>>> x>>> print(x)None
![Page 89: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/89.jpg)
Funktionen
ohne Fehler:>>> x = count_lines(’zeilen.txt’)einseins zweieins zwei dreinichtleere Zeilen: 3>>> x3
Fehler provozieren:>>> x = count_lines(’zeilen.txt’, max_len=10)einseins zweiZeile zu lang>>> x>>> print(x)None
![Page 90: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/90.jpg)
Alternative: Fehlermeldung mit Exception
Fehler im Programm erzeugendef count_lines(filename, max_len=80):
i = 0for line in open(filename):
if line == ’\n’:continue
i += 1if len(line) > max_len:
raise ValueError(’Zeile zu lang’)
print(line, end=’’)
print(’nichtleere Zeilen:’, i)return i
![Page 91: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/91.jpg)
Alternative: Fehlermeldung mit Exception
Interpreter stellt Fehler fest und gibt ihn aus>>> x = count_lines(’zeilen.txt’, max_len=10)einseins zweiTraceback (most recent call last):File "<pyshell#160>", line 1, in <module>x = count_lines(’zeilen.txt’, max_len=10)
File ".../foo.py", line 9, in count_linesraise ValueError(’Zeile zu lang’)
ValueError: Zeile zu lang
Fehlermeldung bezieht sich jetzt auf gespeicherte DateiAusführung wird nach dem Fehler abgebrochen
![Page 92: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/92.jpg)
Alternative: Fehlermeldung mit Exception
Interpreter stellt Fehler fest und gibt ihn aus>>> x = count_lines(’zeilen.txt’, max_len=10)einseins zweiTraceback (most recent call last):File "<pyshell#160>", line 1, in <module>x = count_lines(’zeilen.txt’, max_len=10)
File ".../foo.py", line 9, in count_linesraise ValueError(’Zeile zu lang’)
ValueError: Zeile zu lang
Fehlermeldung bezieht sich jetzt auf gespeicherte DateiAusführung wird nach dem Fehler abgebrochen
![Page 93: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/93.jpg)
Alternative: Fehlermeldung mit Exception
Interpreter stellt Fehler fest und gibt ihn aus>>> x = count_lines(’zeilen.txt’, max_len=10)einseins zweiTraceback (most recent call last):File "<pyshell#160>", line 1, in <module>x = count_lines(’zeilen.txt’, max_len=10)
File ".../foo.py", line 9, in count_linesraise ValueError(’Zeile zu lang’)
ValueError: Zeile zu lang
Fehlermeldung bezieht sich jetzt auf gespeicherte DateiAusführung wird nach dem Fehler abgebrochen
![Page 94: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/94.jpg)
Fehler behandeln
Aufgabe:ganze Zahl aus erster Zeile einer Datei lesenden Kehrwert bilden, Division durch 0 abfangenbei Erfolg den Kehrwert ausgebenin jedem Fall Datei schließen
open() liefert ein DateiobjektMethoden readline() und close()Zeichenkette mit int() in ganze Zahl umwandelnDivision durch 0 wirft ZeroDivisionErrortry, except, else, finally
![Page 95: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/95.jpg)
Fehler behandeln
Aufgabe:ganze Zahl aus erster Zeile einer Datei lesenden Kehrwert bilden, Division durch 0 abfangenbei Erfolg den Kehrwert ausgebenin jedem Fall Datei schließen
open() liefert ein DateiobjektMethoden readline() und close()Zeichenkette mit int() in ganze Zahl umwandelnDivision durch 0 wirft ZeroDivisionErrortry, except, else, finally
![Page 96: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/96.jpg)
Fehler behandeln
Aufgabe:ganze Zahl aus erster Zeile einer Datei lesenden Kehrwert bilden, Division durch 0 abfangenbei Erfolg den Kehrwert ausgebenin jedem Fall Datei schließen
open() liefert ein DateiobjektMethoden readline() und close()Zeichenkette mit int() in ganze Zahl umwandelnDivision durch 0 wirft ZeroDivisionErrortry, except, else, finally
![Page 97: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/97.jpg)
Fehler behandeln
Aufgabe:ganze Zahl aus erster Zeile einer Datei lesenden Kehrwert bilden, Division durch 0 abfangenbei Erfolg den Kehrwert ausgebenin jedem Fall Datei schließen
open() liefert ein DateiobjektMethoden readline() und close()Zeichenkette mit int() in ganze Zahl umwandelnDivision durch 0 wirft ZeroDivisionErrortry, except, else, finally
![Page 98: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/98.jpg)
Fehler behandeln
Aufgabe:ganze Zahl aus erster Zeile einer Datei lesenden Kehrwert bilden, Division durch 0 abfangenbei Erfolg den Kehrwert ausgebenin jedem Fall Datei schließen
open() liefert ein DateiobjektMethoden readline() und close()Zeichenkette mit int() in ganze Zahl umwandelnDivision durch 0 wirft ZeroDivisionErrortry, except, else, finally
![Page 99: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/99.jpg)
Fehler behandeln
Aufgabe:ganze Zahl aus erster Zeile einer Datei lesenden Kehrwert bilden, Division durch 0 abfangenbei Erfolg den Kehrwert ausgebenin jedem Fall Datei schließen
open() liefert ein DateiobjektMethoden readline() und close()Zeichenkette mit int() in ganze Zahl umwandelnDivision durch 0 wirft ZeroDivisionErrortry, except, else, finally
![Page 100: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/100.jpg)
Fehler behandeln
Aufgabe:ganze Zahl aus erster Zeile einer Datei lesenden Kehrwert bilden, Division durch 0 abfangenbei Erfolg den Kehrwert ausgebenin jedem Fall Datei schließen
open() liefert ein DateiobjektMethoden readline() und close()Zeichenkette mit int() in ganze Zahl umwandelnDivision durch 0 wirft ZeroDivisionErrortry, except, else, finally
![Page 101: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/101.jpg)
Fehler behandeln
Aufgabe:ganze Zahl aus erster Zeile einer Datei lesenden Kehrwert bilden, Division durch 0 abfangenbei Erfolg den Kehrwert ausgebenin jedem Fall Datei schließen
open() liefert ein DateiobjektMethoden readline() und close()Zeichenkette mit int() in ganze Zahl umwandelnDivision durch 0 wirft ZeroDivisionErrortry, except, else, finally
![Page 102: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/102.jpg)
Fehler behandeln
Aufgabe:ganze Zahl aus erster Zeile einer Datei lesenden Kehrwert bilden, Division durch 0 abfangenbei Erfolg den Kehrwert ausgebenin jedem Fall Datei schließen
open() liefert ein DateiobjektMethoden readline() und close()Zeichenkette mit int() in ganze Zahl umwandelnDivision durch 0 wirft ZeroDivisionErrortry, except, else, finally
![Page 103: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/103.jpg)
Fehler behandeln
Aufgabe:ganze Zahl aus erster Zeile einer Datei lesenden Kehrwert bilden, Division durch 0 abfangenbei Erfolg den Kehrwert ausgebenin jedem Fall Datei schließen
open() liefert ein DateiobjektMethoden readline() und close()Zeichenkette mit int() in ganze Zahl umwandelnDivision durch 0 wirft ZeroDivisionErrortry, except, else, finally
![Page 104: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/104.jpg)
Fehler behandeln
Lösung:f = open(’foo.txt’)try:
line = f.readline()number = int(line)reciprocal = 1/number
except ZeroDivisionError:print(’Division durch 0’)
else:print(reciprocal)
finally:f.close()print(’Datei geschlossen’)
print(’erfolgreich beendet’)
![Page 105: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/105.jpg)
Fehler behandeln
Erfolg: else-Zweig, Programm läuft weitererwarteter Fehler: except-Zweig, Programm läuft weiterunerwarteter Fehler: try-Block bricht am Fehler ab,Programm kann nicht weitergeführt werdenfinally-Block wird immer ausgeführt, auch bei Abbruch
![Page 106: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/106.jpg)
Fehler behandeln
Erfolg: else-Zweig, Programm läuft weitererwarteter Fehler: except-Zweig, Programm läuft weiterunerwarteter Fehler: try-Block bricht am Fehler ab,Programm kann nicht weitergeführt werdenfinally-Block wird immer ausgeführt, auch bei Abbruch
![Page 107: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/107.jpg)
Fehler behandeln
Erfolg: else-Zweig, Programm läuft weitererwarteter Fehler: except-Zweig, Programm läuft weiterunerwarteter Fehler: try-Block bricht am Fehler ab,Programm kann nicht weitergeführt werdenfinally-Block wird immer ausgeführt, auch bei Abbruch
![Page 108: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/108.jpg)
Fehler behandeln
Erfolg: else-Zweig, Programm läuft weitererwarteter Fehler: except-Zweig, Programm läuft weiterunerwarteter Fehler: try-Block bricht am Fehler ab,Programm kann nicht weitergeführt werdenfinally-Block wird immer ausgeführt, auch bei Abbruch
![Page 109: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/109.jpg)
Gliederung
1 Einleitung
2 Hallo WeltDie Entwicklungsumgebung idlePython-Programme
3 Grundzüge der Sprache PythonPython im VergleichGrundlegende Programmkonstrukte
4 DatentypenEinfache TypenSequenzen: Zeichenketten, Listen, TupelUngeordnete Sammlungen: Dictionarys, MengenWeitere
5 Klassen
![Page 110: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/110.jpg)
Gliederung
1 Einleitung
2 Hallo WeltDie Entwicklungsumgebung idlePython-Programme
3 Grundzüge der Sprache PythonPython im VergleichGrundlegende Programmkonstrukte
4 DatentypenEinfache TypenSequenzen: Zeichenketten, Listen, TupelUngeordnete Sammlungen: Dictionarys, MengenWeitere
5 Klassen
![Page 111: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/111.jpg)
Zahlen
ganze Zahlen gesehen: int, strrationale Zahlen>>> float(’2.7e10’)27000000000.0
viele mathematische Funktionen in der Standardbibliothek>>> import math>>> math.sqrt(4)2.0
Vergleiche, Verkettung>>> 0 == 0 < 4 != 3 > 2True
numerische Fehler vermeiden: Festkommazahlen, Brüche>>> from fractions import Fraction>>> Fraction(2, 6)Fraction(1, 3)
![Page 112: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/112.jpg)
Zahlen
ganze Zahlen gesehen: int, strrationale Zahlen>>> float(’2.7e10’)27000000000.0
viele mathematische Funktionen in der Standardbibliothek>>> import math>>> math.sqrt(4)2.0
Vergleiche, Verkettung>>> 0 == 0 < 4 != 3 > 2True
numerische Fehler vermeiden: Festkommazahlen, Brüche>>> from fractions import Fraction>>> Fraction(2, 6)Fraction(1, 3)
![Page 113: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/113.jpg)
Zahlen
ganze Zahlen gesehen: int, strrationale Zahlen>>> float(’2.7e10’)27000000000.0
viele mathematische Funktionen in der Standardbibliothek>>> import math>>> math.sqrt(4)2.0
Vergleiche, Verkettung>>> 0 == 0 < 4 != 3 > 2True
numerische Fehler vermeiden: Festkommazahlen, Brüche>>> from fractions import Fraction>>> Fraction(2, 6)Fraction(1, 3)
![Page 114: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/114.jpg)
Zahlen
ganze Zahlen gesehen: int, strrationale Zahlen>>> float(’2.7e10’)27000000000.0
viele mathematische Funktionen in der Standardbibliothek>>> import math>>> math.sqrt(4)2.0
Vergleiche, Verkettung>>> 0 == 0 < 4 != 3 > 2True
numerische Fehler vermeiden: Festkommazahlen, Brüche>>> from fractions import Fraction>>> Fraction(2, 6)Fraction(1, 3)
![Page 115: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/115.jpg)
Zahlen
ganze Zahlen gesehen: int, strrationale Zahlen>>> float(’2.7e10’)27000000000.0
viele mathematische Funktionen in der Standardbibliothek>>> import math>>> math.sqrt(4)2.0
Vergleiche, Verkettung>>> 0 == 0 < 4 != 3 > 2True
numerische Fehler vermeiden: Festkommazahlen, Brüche>>> from fractions import Fraction>>> Fraction(2, 6)Fraction(1, 3)
![Page 116: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/116.jpg)
Zahlen
komplexe Zahlen eingebaut>>> 1j*1j(-1+0j)
komplexe mathematische Funktionen getrennt verfügbar>>> math.sqrt(-1)Traceback (most recent call last):...
ValueError: math domain error
>>> import cmath>>> cmath.sqrt(-1)1j
![Page 117: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/117.jpg)
Zahlen
komplexe Zahlen eingebaut>>> 1j*1j(-1+0j)
komplexe mathematische Funktionen getrennt verfügbar>>> math.sqrt(-1)Traceback (most recent call last):...
ValueError: math domain error
>>> import cmath>>> cmath.sqrt(-1)1j
![Page 118: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/118.jpg)
Wahrheitswerte
Literale gesehen: True, Falselogische Verknüpfungen: and, or, not>>> True and not FalseTrue
alle Objekte haben einen Wahrheitswert>>> bool(1)True>>> bool(’’)False>>> bool(’PyCon DE 2011’)True>>> bool(print)True>>> bool(None)False
0 oder „leer“ bedeutet False, sonst True
![Page 119: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/119.jpg)
Wahrheitswerte
Literale gesehen: True, Falselogische Verknüpfungen: and, or, not>>> True and not FalseTrue
alle Objekte haben einen Wahrheitswert>>> bool(1)True>>> bool(’’)False>>> bool(’PyCon DE 2011’)True>>> bool(print)True>>> bool(None)False
0 oder „leer“ bedeutet False, sonst True
![Page 120: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/120.jpg)
Wahrheitswerte
Literale gesehen: True, Falselogische Verknüpfungen: and, or, not>>> True and not FalseTrue
alle Objekte haben einen Wahrheitswert>>> bool(1)True>>> bool(’’)False>>> bool(’PyCon DE 2011’)True>>> bool(print)True>>> bool(None)False
0 oder „leer“ bedeutet False, sonst True
![Page 121: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/121.jpg)
Wahrheitswerte
Literale gesehen: True, Falselogische Verknüpfungen: and, or, not>>> True and not FalseTrue
alle Objekte haben einen Wahrheitswert>>> bool(1)True>>> bool(’’)False>>> bool(’PyCon DE 2011’)True>>> bool(print)True>>> bool(None)False
0 oder „leer“ bedeutet False, sonst True
![Page 122: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/122.jpg)
Gliederung
1 Einleitung
2 Hallo WeltDie Entwicklungsumgebung idlePython-Programme
3 Grundzüge der Sprache PythonPython im VergleichGrundlegende Programmkonstrukte
4 DatentypenEinfache TypenSequenzen: Zeichenketten, Listen, TupelUngeordnete Sammlungen: Dictionarys, MengenWeitere
5 Klassen
![Page 123: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/123.jpg)
Zeichenketten-Operationen
Verkettung mit +>>> ’PyCon DE’ + ’ ’ + ’2001’’PyCon DE 2001’>>> ’PyCon DE’ + ’ ’ + str(2011)’PyCon DE 2011’
meist lesbarer: Formatierung>>> ’{} {}’.format(’PyCon DE’, 2011)’PyCon DE 2011’
Verkettung mit Verbindungstext>>> ’ ’.join([’PyCon’, ’DE’, ’2011’])’PyCon DE 2011’
![Page 124: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/124.jpg)
Zeichenketten-Operationen
Verkettung mit +>>> ’PyCon DE’ + ’ ’ + ’2001’’PyCon DE 2001’>>> ’PyCon DE’ + ’ ’ + str(2011)’PyCon DE 2011’
meist lesbarer: Formatierung>>> ’{} {}’.format(’PyCon DE’, 2011)’PyCon DE 2011’
Verkettung mit Verbindungstext>>> ’ ’.join([’PyCon’, ’DE’, ’2011’])’PyCon DE 2011’
![Page 125: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/125.jpg)
Zeichenketten-Operationen
Verkettung mit +>>> ’PyCon DE’ + ’ ’ + ’2001’’PyCon DE 2001’>>> ’PyCon DE’ + ’ ’ + str(2011)’PyCon DE 2011’
meist lesbarer: Formatierung>>> ’{} {}’.format(’PyCon DE’, 2011)’PyCon DE 2011’
Verkettung mit Verbindungstext>>> ’ ’.join([’PyCon’, ’DE’, ’2011’])’PyCon DE 2011’
![Page 126: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/126.jpg)
Zeichenketten-Operationen
Länge bestimmen mit len()>>> len(’PyCon DE 2011’)13
Vervielfältigung mit *>>> x = ’PyCon DE 2011’>>> y = len(x) * ’=’>>> print(’\n’.join([x, y]))PyCon DE 2011=============
testen, ob eine Zeichenkette enthalten ist>>> ’DE’ in ’PyCon DE 2011’True
![Page 127: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/127.jpg)
Zeichenketten-Operationen
Länge bestimmen mit len()>>> len(’PyCon DE 2011’)13
Vervielfältigung mit *>>> x = ’PyCon DE 2011’>>> y = len(x) * ’=’>>> print(’\n’.join([x, y]))PyCon DE 2011=============
testen, ob eine Zeichenkette enthalten ist>>> ’DE’ in ’PyCon DE 2011’True
![Page 128: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/128.jpg)
Zeichenketten-Operationen
Länge bestimmen mit len()>>> len(’PyCon DE 2011’)13
Vervielfältigung mit *>>> x = ’PyCon DE 2011’>>> y = len(x) * ’=’>>> print(’\n’.join([x, y]))PyCon DE 2011=============
testen, ob eine Zeichenkette enthalten ist>>> ’DE’ in ’PyCon DE 2011’True
![Page 129: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/129.jpg)
Zeichenketten-Methoden
zerlegen:>>> ’PyCon DE 2011’.split()[’PyCon’, ’DE’, ’2011’]>>> ’PyCon-DE-2011’.split(’-’)[’PyCon’, ’DE’, ’2011’]
Teile suchen und zählen>>> ’PyCon DE 2011’.index(’DE’)6>>> ’PyCon DE 2011’.count(’1’)2
Abfragen: isnumeric(), istitle(), startswith()>>> ’17’.isnumeric()True>>> ’PyCon DE 2011’.startswith(’Py’)True
![Page 130: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/130.jpg)
Zeichenketten-Methoden
zerlegen:>>> ’PyCon DE 2011’.split()[’PyCon’, ’DE’, ’2011’]>>> ’PyCon-DE-2011’.split(’-’)[’PyCon’, ’DE’, ’2011’]
Teile suchen und zählen>>> ’PyCon DE 2011’.index(’DE’)6>>> ’PyCon DE 2011’.count(’1’)2
Abfragen: isnumeric(), istitle(), startswith()>>> ’17’.isnumeric()True>>> ’PyCon DE 2011’.startswith(’Py’)True
![Page 131: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/131.jpg)
Zeichenketten-Methoden
zerlegen:>>> ’PyCon DE 2011’.split()[’PyCon’, ’DE’, ’2011’]>>> ’PyCon-DE-2011’.split(’-’)[’PyCon’, ’DE’, ’2011’]
Teile suchen und zählen>>> ’PyCon DE 2011’.index(’DE’)6>>> ’PyCon DE 2011’.count(’1’)2
Abfragen: isnumeric(), istitle(), startswith()>>> ’17’.isnumeric()True>>> ’PyCon DE 2011’.startswith(’Py’)True
![Page 132: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/132.jpg)
Zeichenketten-Methoden
Manipulationen von Leerraum und Großschreibung,Ersetzungen>>> ’ PyCon DE 2011 ’.strip()’PyCon DE 2011’>>> ’ pycon de 2011 ’.title()’ Pycon De 2011 ’>>> ’ PyCon DE 2011 ’.replace(’11’, ’12’)’ PyCon DE 2012 ’
Zeichenketten unveränderbar, Manipulationen arbeiten mitKopien>>> x = ’ PyCon DE 2011 ’>>> x.strip()’PyCon DE 2011’>>> x’ PyCon DE 2011 ’
![Page 133: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/133.jpg)
Zeichenketten-Methoden
Manipulationen von Leerraum und Großschreibung,Ersetzungen>>> ’ PyCon DE 2011 ’.strip()’PyCon DE 2011’>>> ’ pycon de 2011 ’.title()’ Pycon De 2011 ’>>> ’ PyCon DE 2011 ’.replace(’11’, ’12’)’ PyCon DE 2012 ’
Zeichenketten unveränderbar, Manipulationen arbeiten mitKopien>>> x = ’ PyCon DE 2011 ’>>> x.strip()’PyCon DE 2011’>>> x’ PyCon DE 2011 ’
![Page 134: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/134.jpg)
Auf Teile von Zeichenketten zugreifen
einzelne Zeichen per Index ansprechen>>> ’PyCon DE 2011’[2]’C’>>> ’PyCon DE 2011’[20]Traceback (most recent call last):...
IndexError: string index out of range
Indizieren von hinten>>> ’PyCon DE 2011’[-4]’2’
Ausschnitte ansprechen (Slicing)>>> ’PyCon DE 2011’[0:5]’PyCon’>>> ’PyCon DE 2011’[-4:]’2011’
Intervalle wieder halboffen, End-Index liegt dahinter
![Page 135: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/135.jpg)
Auf Teile von Zeichenketten zugreifen
einzelne Zeichen per Index ansprechen>>> ’PyCon DE 2011’[2]’C’>>> ’PyCon DE 2011’[20]Traceback (most recent call last):...
IndexError: string index out of range
Indizieren von hinten>>> ’PyCon DE 2011’[-4]’2’
Ausschnitte ansprechen (Slicing)>>> ’PyCon DE 2011’[0:5]’PyCon’>>> ’PyCon DE 2011’[-4:]’2011’
Intervalle wieder halboffen, End-Index liegt dahinter
![Page 136: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/136.jpg)
Auf Teile von Zeichenketten zugreifen
einzelne Zeichen per Index ansprechen>>> ’PyCon DE 2011’[2]’C’>>> ’PyCon DE 2011’[20]Traceback (most recent call last):...
IndexError: string index out of range
Indizieren von hinten>>> ’PyCon DE 2011’[-4]’2’
Ausschnitte ansprechen (Slicing)>>> ’PyCon DE 2011’[0:5]’PyCon’>>> ’PyCon DE 2011’[-4:]’2011’
Intervalle wieder halboffen, End-Index liegt dahinter
![Page 137: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/137.jpg)
Auf Teile von Zeichenketten zugreifen
einzelne Zeichen per Index ansprechen>>> ’PyCon DE 2011’[2]’C’>>> ’PyCon DE 2011’[20]Traceback (most recent call last):...
IndexError: string index out of range
Indizieren von hinten>>> ’PyCon DE 2011’[-4]’2’
Ausschnitte ansprechen (Slicing)>>> ’PyCon DE 2011’[0:5]’PyCon’>>> ’PyCon DE 2011’[-4:]’2011’
Intervalle wieder halboffen, End-Index liegt dahinter
![Page 138: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/138.jpg)
Listen
Literal benutzt [], unterschiedliche Elementtypen erlaubt>>> [1, ’abc’, [1, 2, 3]][1, ’abc’, [1, 2, 3]]
mit list() aus iterierbarer Sammlung erzeugen>>> list(range(2, 6))[2, 3, 4, 5]
Folgenoperationen analog zu Zeichenketten: len(),Elementzugriff und Slicing>>> [’a’, ’b’, ’c’][1:][’b’, ’c’]
ähnlich wie bei Zeichenketten, aber auf einzelne Elementebezogen: in, Methoden wie index() und count()>>> [’a’, ’b’] in [’a’, ’b’, ’c’]False>>> [’a’, ’b’, ’c’].index(’b’)1
![Page 139: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/139.jpg)
Listen
Literal benutzt [], unterschiedliche Elementtypen erlaubt>>> [1, ’abc’, [1, 2, 3]][1, ’abc’, [1, 2, 3]]
mit list() aus iterierbarer Sammlung erzeugen>>> list(range(2, 6))[2, 3, 4, 5]
Folgenoperationen analog zu Zeichenketten: len(),Elementzugriff und Slicing>>> [’a’, ’b’, ’c’][1:][’b’, ’c’]
ähnlich wie bei Zeichenketten, aber auf einzelne Elementebezogen: in, Methoden wie index() und count()>>> [’a’, ’b’] in [’a’, ’b’, ’c’]False>>> [’a’, ’b’, ’c’].index(’b’)1
![Page 140: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/140.jpg)
Listen
Literal benutzt [], unterschiedliche Elementtypen erlaubt>>> [1, ’abc’, [1, 2, 3]][1, ’abc’, [1, 2, 3]]
mit list() aus iterierbarer Sammlung erzeugen>>> list(range(2, 6))[2, 3, 4, 5]
Folgenoperationen analog zu Zeichenketten: len(),Elementzugriff und Slicing>>> [’a’, ’b’, ’c’][1:][’b’, ’c’]
ähnlich wie bei Zeichenketten, aber auf einzelne Elementebezogen: in, Methoden wie index() und count()>>> [’a’, ’b’] in [’a’, ’b’, ’c’]False>>> [’a’, ’b’, ’c’].index(’b’)1
![Page 141: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/141.jpg)
Listen
Literal benutzt [], unterschiedliche Elementtypen erlaubt>>> [1, ’abc’, [1, 2, 3]][1, ’abc’, [1, 2, 3]]
mit list() aus iterierbarer Sammlung erzeugen>>> list(range(2, 6))[2, 3, 4, 5]
Folgenoperationen analog zu Zeichenketten: len(),Elementzugriff und Slicing>>> [’a’, ’b’, ’c’][1:][’b’, ’c’]
ähnlich wie bei Zeichenketten, aber auf einzelne Elementebezogen: in, Methoden wie index() und count()>>> [’a’, ’b’] in [’a’, ’b’, ’c’]False>>> [’a’, ’b’, ’c’].index(’b’)1
![Page 142: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/142.jpg)
Listen
Listen sind veränderbar: append(), extend(), insert()>>> x = [’a’, ’b’, ’c’]>>> x.append(’d’)>>> x[’a’, ’b’, ’c’, ’d’]
del, remove(), pop()>>> del x[1:3]>>> x[’a’, ’d’]
sort(), reverse(), sorted(), reversed()>>> x = [’b’, ’d’, ’c’, ’a’]>>> x.sort()>>> x[’a’, ’b’, ’c’, ’d’]>>> sorted([’b’, ’d’, ’c’, ’a’])[’a’, ’b’, ’c’, ’d’]
![Page 143: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/143.jpg)
Listen
Listen sind veränderbar: append(), extend(), insert()>>> x = [’a’, ’b’, ’c’]>>> x.append(’d’)>>> x[’a’, ’b’, ’c’, ’d’]
del, remove(), pop()>>> del x[1:3]>>> x[’a’, ’d’]
sort(), reverse(), sorted(), reversed()>>> x = [’b’, ’d’, ’c’, ’a’]>>> x.sort()>>> x[’a’, ’b’, ’c’, ’d’]>>> sorted([’b’, ’d’, ’c’, ’a’])[’a’, ’b’, ’c’, ’d’]
![Page 144: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/144.jpg)
Listen
Listen sind veränderbar: append(), extend(), insert()>>> x = [’a’, ’b’, ’c’]>>> x.append(’d’)>>> x[’a’, ’b’, ’c’, ’d’]
del, remove(), pop()>>> del x[1:3]>>> x[’a’, ’d’]
sort(), reverse(), sorted(), reversed()>>> x = [’b’, ’d’, ’c’, ’a’]>>> x.sort()>>> x[’a’, ’b’, ’c’, ’d’]>>> sorted([’b’, ’d’, ’c’, ’a’])[’a’, ’b’, ’c’, ’d’]
![Page 145: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/145.jpg)
Tupel
Literal benutzt ()>>> (1, 2, (’a’, ’b’))(1, 2, (’a’, ’b’))
unveränderlich, insbesondere feste Länge, daher oft fürGruppen einer bekannten Menge von Werten verwendetauspacken: Mehrfachzuweisung, Klammern unnötig>>> x, y = 1, 2>>> x, y = y, x>>> x, y(2, 1)>>> for x, y in [(1, 2), (3, 4)]:
print(x*y, end=’ ’)2 12
mehrere Werte aus Funktion zurückgeben>>> return x, y, z
![Page 146: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/146.jpg)
Tupel
Literal benutzt ()>>> (1, 2, (’a’, ’b’))(1, 2, (’a’, ’b’))
unveränderlich, insbesondere feste Länge, daher oft fürGruppen einer bekannten Menge von Werten verwendetauspacken: Mehrfachzuweisung, Klammern unnötig>>> x, y = 1, 2>>> x, y = y, x>>> x, y(2, 1)>>> for x, y in [(1, 2), (3, 4)]:
print(x*y, end=’ ’)2 12
mehrere Werte aus Funktion zurückgeben>>> return x, y, z
![Page 147: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/147.jpg)
Tupel
Literal benutzt ()>>> (1, 2, (’a’, ’b’))(1, 2, (’a’, ’b’))
unveränderlich, insbesondere feste Länge, daher oft fürGruppen einer bekannten Menge von Werten verwendetauspacken: Mehrfachzuweisung, Klammern unnötig>>> x, y = 1, 2>>> x, y = y, x>>> x, y(2, 1)>>> for x, y in [(1, 2), (3, 4)]:
print(x*y, end=’ ’)2 12
mehrere Werte aus Funktion zurückgeben>>> return x, y, z
![Page 148: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/148.jpg)
Tupel
Literal benutzt ()>>> (1, 2, (’a’, ’b’))(1, 2, (’a’, ’b’))
unveränderlich, insbesondere feste Länge, daher oft fürGruppen einer bekannten Menge von Werten verwendetauspacken: Mehrfachzuweisung, Klammern unnötig>>> x, y = 1, 2>>> x, y = y, x>>> x, y(2, 1)>>> for x, y in [(1, 2), (3, 4)]:
print(x*y, end=’ ’)2 12
mehrere Werte aus Funktion zurückgeben>>> return x, y, z
![Page 149: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/149.jpg)
Gliederung
1 Einleitung
2 Hallo WeltDie Entwicklungsumgebung idlePython-Programme
3 Grundzüge der Sprache PythonPython im VergleichGrundlegende Programmkonstrukte
4 DatentypenEinfache TypenSequenzen: Zeichenketten, Listen, TupelUngeordnete Sammlungen: Dictionarys, MengenWeitere
5 Klassen
![Page 150: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/150.jpg)
Zuordnungen: Dictionarys
Literal benutzt {}>>> {’name’: ’PyCon DE’, ’year’: 2011}{’name’: ’PyCon DE’, ’year’: 2011}
Konstruktor: dict(), nimmt Schlüsselwort-Argumente>>> dict(name=’PyCon DE’, year=2011){’name’: ’PyCon DE’, ’year’: 2011}
Dictionary-Ausdrücke>>> {x: x+1 for x in range(3)}{0: 1, 1: 2, 2: 3}
kopieren mit copy(), leeren mit clear()>>> x = {’name’: ’PyCon DE’, ’year’: 2011}>>> y = x.copy()>>> x.clear()>>> x{}>>> y{’name’: ’PyCon DE’, ’year’: 2011}
![Page 151: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/151.jpg)
Zuordnungen: Dictionarys
Literal benutzt {}>>> {’name’: ’PyCon DE’, ’year’: 2011}{’name’: ’PyCon DE’, ’year’: 2011}
Konstruktor: dict(), nimmt Schlüsselwort-Argumente>>> dict(name=’PyCon DE’, year=2011){’name’: ’PyCon DE’, ’year’: 2011}
Dictionary-Ausdrücke>>> {x: x+1 for x in range(3)}{0: 1, 1: 2, 2: 3}
kopieren mit copy(), leeren mit clear()>>> x = {’name’: ’PyCon DE’, ’year’: 2011}>>> y = x.copy()>>> x.clear()>>> x{}>>> y{’name’: ’PyCon DE’, ’year’: 2011}
![Page 152: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/152.jpg)
Zuordnungen: Dictionarys
Literal benutzt {}>>> {’name’: ’PyCon DE’, ’year’: 2011}{’name’: ’PyCon DE’, ’year’: 2011}
Konstruktor: dict(), nimmt Schlüsselwort-Argumente>>> dict(name=’PyCon DE’, year=2011){’name’: ’PyCon DE’, ’year’: 2011}
Dictionary-Ausdrücke>>> {x: x+1 for x in range(3)}{0: 1, 1: 2, 2: 3}
kopieren mit copy(), leeren mit clear()>>> x = {’name’: ’PyCon DE’, ’year’: 2011}>>> y = x.copy()>>> x.clear()>>> x{}>>> y{’name’: ’PyCon DE’, ’year’: 2011}
![Page 153: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/153.jpg)
Zuordnungen: Dictionarys
Literal benutzt {}>>> {’name’: ’PyCon DE’, ’year’: 2011}{’name’: ’PyCon DE’, ’year’: 2011}
Konstruktor: dict(), nimmt Schlüsselwort-Argumente>>> dict(name=’PyCon DE’, year=2011){’name’: ’PyCon DE’, ’year’: 2011}
Dictionary-Ausdrücke>>> {x: x+1 for x in range(3)}{0: 1, 1: 2, 2: 3}
kopieren mit copy(), leeren mit clear()>>> x = {’name’: ’PyCon DE’, ’year’: 2011}>>> y = x.copy()>>> x.clear()>>> x{}>>> y{’name’: ’PyCon DE’, ’year’: 2011}
![Page 154: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/154.jpg)
Zuordnungen: Dictionarys
Elementzugriff>>> x = {’name’: ’PyCon DE’, ’year’: 2011}>>> x[’name’]’PyCon DE’>>> x[’year’] = 2012>>> x[’location’] = ’Leipzig’>>> x{’location’: ’Leipzig’, ’name’: ’PyCon DE’,’year’: 2012}
Dictionarys vereinigen mit update()>>> x.update({’year’: 2011,
’start’: ’2011-10-04’})>>> x{’start’: ’2011-10-04’, ’location’: ’Leipzig’,’name’: ’PyCon DE’, ’year’: 2011}
![Page 155: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/155.jpg)
Zuordnungen: Dictionarys
Elementzugriff>>> x = {’name’: ’PyCon DE’, ’year’: 2011}>>> x[’name’]’PyCon DE’>>> x[’year’] = 2012>>> x[’location’] = ’Leipzig’>>> x{’location’: ’Leipzig’, ’name’: ’PyCon DE’,’year’: 2012}
Dictionarys vereinigen mit update()>>> x.update({’year’: 2011,
’start’: ’2011-10-04’})>>> x{’start’: ’2011-10-04’, ’location’: ’Leipzig’,’name’: ’PyCon DE’, ’year’: 2011}
![Page 156: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/156.jpg)
Zuordnungen: Dictionarys
testen auf Vorhandensein eines Schlüssels: in>>> ’location’ in xTrue
löschen: del, pop(), popitem()>>> del x[’location’]>>> ’location’ in xFalse
>>> x.popitem()(’start’, ’2011-10-04’)>>> x{’name’: ’PyCon DE’, ’year’: 2011}
![Page 157: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/157.jpg)
Zuordnungen: Dictionarys
testen auf Vorhandensein eines Schlüssels: in>>> ’location’ in xTrue
löschen: del, pop(), popitem()>>> del x[’location’]>>> ’location’ in xFalse
>>> x.popitem()(’start’, ’2011-10-04’)>>> x{’name’: ’PyCon DE’, ’year’: 2011}
![Page 158: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/158.jpg)
Zuordnungen: Dictionarys
iterieren über Schlüssel, Werte und Schlüssel-Wert-Paare>>> for key in x:
print(key, end=’ ’)start location name year
>>> for key, value in x.items():print(key, value)
start 2011-10-04location Leipzigname PyCon DEyear 2011
![Page 159: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/159.jpg)
Mengen
Literal auch mit {}>>> {1, ’a’, (True, False)}{’a’, 1, (True, False)}
Sonderfall: leere Menge mit set()manipulieren: add(), pop(), remove(), discard(), update()Mengenoperationen mit Operatoren>>> {1, 2, 3} | {3, 4}{1, 2, 3, 4}>>> {1, 2, 3} & {3, 4}{3}>>> {1, 2, 3} - {3, 4}{1, 2}
Ordnung anhand von Teilmengenbeziehungen>>> {1, 2} < {1, 2, 3, 4}True>>> {1, 2} < {3, 4}False
![Page 160: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/160.jpg)
Mengen
Literal auch mit {}>>> {1, ’a’, (True, False)}{’a’, 1, (True, False)}
Sonderfall: leere Menge mit set()manipulieren: add(), pop(), remove(), discard(), update()Mengenoperationen mit Operatoren>>> {1, 2, 3} | {3, 4}{1, 2, 3, 4}>>> {1, 2, 3} & {3, 4}{3}>>> {1, 2, 3} - {3, 4}{1, 2}
Ordnung anhand von Teilmengenbeziehungen>>> {1, 2} < {1, 2, 3, 4}True>>> {1, 2} < {3, 4}False
![Page 161: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/161.jpg)
Mengen
Literal auch mit {}>>> {1, ’a’, (True, False)}{’a’, 1, (True, False)}
Sonderfall: leere Menge mit set()manipulieren: add(), pop(), remove(), discard(), update()Mengenoperationen mit Operatoren>>> {1, 2, 3} | {3, 4}{1, 2, 3, 4}>>> {1, 2, 3} & {3, 4}{3}>>> {1, 2, 3} - {3, 4}{1, 2}
Ordnung anhand von Teilmengenbeziehungen>>> {1, 2} < {1, 2, 3, 4}True>>> {1, 2} < {3, 4}False
![Page 162: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/162.jpg)
Mengen
Literal auch mit {}>>> {1, ’a’, (True, False)}{’a’, 1, (True, False)}
Sonderfall: leere Menge mit set()manipulieren: add(), pop(), remove(), discard(), update()Mengenoperationen mit Operatoren>>> {1, 2, 3} | {3, 4}{1, 2, 3, 4}>>> {1, 2, 3} & {3, 4}{3}>>> {1, 2, 3} - {3, 4}{1, 2}
Ordnung anhand von Teilmengenbeziehungen>>> {1, 2} < {1, 2, 3, 4}True>>> {1, 2} < {3, 4}False
![Page 163: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/163.jpg)
Mengen
Literal auch mit {}>>> {1, ’a’, (True, False)}{’a’, 1, (True, False)}
Sonderfall: leere Menge mit set()manipulieren: add(), pop(), remove(), discard(), update()Mengenoperationen mit Operatoren>>> {1, 2, 3} | {3, 4}{1, 2, 3, 4}>>> {1, 2, 3} & {3, 4}{3}>>> {1, 2, 3} - {3, 4}{1, 2}
Ordnung anhand von Teilmengenbeziehungen>>> {1, 2} < {1, 2, 3, 4}True>>> {1, 2} < {3, 4}False
![Page 164: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/164.jpg)
Gliederung
1 Einleitung
2 Hallo WeltDie Entwicklungsumgebung idlePython-Programme
3 Grundzüge der Sprache PythonPython im VergleichGrundlegende Programmkonstrukte
4 DatentypenEinfache TypenSequenzen: Zeichenketten, Listen, TupelUngeordnete Sammlungen: Dictionarys, MengenWeitere
5 Klassen
![Page 165: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/165.jpg)
Dateiartige Objekte
bereits gesehen: öffnen, iterierenread, readline, readlinesöffnen zum Schreiben und Anhängenseek, tell, writeclose
![Page 166: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/166.jpg)
Dateiartige Objekte
bereits gesehen: öffnen, iterierenread, readline, readlinesöffnen zum Schreiben und Anhängenseek, tell, writeclose
![Page 167: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/167.jpg)
Dateiartige Objekte
bereits gesehen: öffnen, iterierenread, readline, readlinesöffnen zum Schreiben und Anhängenseek, tell, writeclose
![Page 168: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/168.jpg)
Dateiartige Objekte
bereits gesehen: öffnen, iterierenread, readline, readlinesöffnen zum Schreiben und Anhängenseek, tell, writeclose
![Page 169: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/169.jpg)
Dateiartige Objekte
bereits gesehen: öffnen, iterierenread, readline, readlinesöffnen zum Schreiben und Anhängenseek, tell, writeclose
![Page 170: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/170.jpg)
Ebenfalls Datentypen
Fehler (Exceptions): HierarchieFunktionen, Methoden: herumreichenKlassen: dir
![Page 171: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/171.jpg)
Ebenfalls Datentypen
Fehler (Exceptions): HierarchieFunktionen, Methoden: herumreichenKlassen: dir
![Page 172: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/172.jpg)
Ebenfalls Datentypen
Fehler (Exceptions): HierarchieFunktionen, Methoden: herumreichenKlassen: dir
![Page 173: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/173.jpg)
Gliederung
1 Einleitung
2 Hallo WeltDie Entwicklungsumgebung idlePython-Programme
3 Grundzüge der Sprache PythonPython im VergleichGrundlegende Programmkonstrukte
4 DatentypenEinfache TypenSequenzen: Zeichenketten, Listen, TupelUngeordnete Sammlungen: Dictionarys, MengenWeitere
5 Klassen
![Page 174: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/174.jpg)
Klassen
einfaches Beispiel:class Example(object):
"""A simple example."""
def __init__(self, value):self.value = value
def add(self, other_number):return self.value + other_number
def __str__(self):return ’Example instance {}’.format(self.value)
Methoden, self__init__()spezielle Methoden: __str__, __repr__, __len__,__contains__Duck-Typing
![Page 175: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/175.jpg)
Klassen
einfaches Beispiel:class Example(object):
"""A simple example."""
def __init__(self, value):self.value = value
def add(self, other_number):return self.value + other_number
def __str__(self):return ’Example instance {}’.format(self.value)
Methoden, self__init__()spezielle Methoden: __str__, __repr__, __len__,__contains__Duck-Typing
![Page 176: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/176.jpg)
Klassen
einfaches Beispiel:class Example(object):
"""A simple example."""
def __init__(self, value):self.value = value
def add(self, other_number):return self.value + other_number
def __str__(self):return ’Example instance {}’.format(self.value)
Methoden, self__init__()spezielle Methoden: __str__, __repr__, __len__,__contains__Duck-Typing
![Page 177: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/177.jpg)
Klassen
einfaches Beispiel:class Example(object):
"""A simple example."""
def __init__(self, value):self.value = value
def add(self, other_number):return self.value + other_number
def __str__(self):return ’Example instance {}’.format(self.value)
Methoden, self__init__()spezielle Methoden: __str__, __repr__, __len__,__contains__Duck-Typing
![Page 178: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/178.jpg)
Klassen
einfaches Beispiel:class Example(object):
"""A simple example."""
def __init__(self, value):self.value = value
def add(self, other_number):return self.value + other_number
def __str__(self):return ’Example instance {}’.format(self.value)
Methoden, self__init__()spezielle Methoden: __str__, __repr__, __len__,__contains__Duck-Typing
![Page 179: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/179.jpg)
Klassen
mit Zahl als Wert benutzen>>> e = Example(3)>>> str(e)’Example instance 3’>>> e.add(1)4
mit Liste als Wert benutzen>>> e = Example([1,2,3])>>> str(e)’Example instance [1, 2, 3]’>>> e.add([4, 5])[1, 2, 3, 4, 5]
![Page 180: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/180.jpg)
Klassen
mit Zahl als Wert benutzen>>> e = Example(3)>>> str(e)’Example instance 3’>>> e.add(1)4
mit Liste als Wert benutzen>>> e = Example([1,2,3])>>> str(e)’Example instance [1, 2, 3]’>>> e.add([4, 5])[1, 2, 3, 4, 5]
![Page 181: Python für Einsteiger - thomas-lotze.dethomas-lotze.de/software/praesentation/20111004-pyconde-python.pdf · Gliederung 1 Einleitung 2 Hallo Welt Die Entwicklungsumgebung idle Python-Programme](https://reader033.vdocuments.site/reader033/viewer/2022051523/5a79522a7f8b9a260e8b6fe7/html5/thumbnails/181.jpg)
Klassen
inkompatible Werte>>> e.add(1)Traceback (most recent call last):File "<pyshell#10>", line 1, in <module>e.add(1)
File ".../foo.py", line 8, in addreturn self.value + other_number
TypeError: can only concatenate list(not "int") to list