![Page 1: Eine kurze Einführung in Python - simweb.iwr.uni ...simweb.iwr.uni-heidelberg.de/lehre/2019S-EinfNum/python_intro.pdf · Eine kurze Einf uhrung in Python Stefan Meggendorfer IWR,](https://reader030.vdocuments.pub/reader030/viewer/2022040311/5d5cba7388c993442b8b76ff/html5/thumbnails/1.jpg)
Eine kurze Einfuhrung in Python
Stefan Meggendorfer
IWR, Universitat Heidelberg
6. Mai 2019
Stefan Meggendorfer Python Einfuhrung 1
![Page 2: Eine kurze Einführung in Python - simweb.iwr.uni ...simweb.iwr.uni-heidelberg.de/lehre/2019S-EinfNum/python_intro.pdf · Eine kurze Einf uhrung in Python Stefan Meggendorfer IWR,](https://reader030.vdocuments.pub/reader030/viewer/2022040311/5d5cba7388c993442b8b76ff/html5/thumbnails/2.jpg)
Ubersicht
EinleitungBasics
ZahlenformateRechenoperationenVariablen und ZuweisungenKombinierte RechenoperationenStringsListenTupleTuple vs. ListKommentareLogische Operationen
Nutzliche FunktionenBlockeControl Flow ToolsFunktionen
Programme schreibenPython-SkriptModulare Programmierung
PackagesMathNumPySciPymatplotlib
Stefan Meggendorfer Python Einfuhrung 2
![Page 3: Eine kurze Einführung in Python - simweb.iwr.uni ...simweb.iwr.uni-heidelberg.de/lehre/2019S-EinfNum/python_intro.pdf · Eine kurze Einf uhrung in Python Stefan Meggendorfer IWR,](https://reader030.vdocuments.pub/reader030/viewer/2022040311/5d5cba7388c993442b8b76ff/html5/thumbnails/3.jpg)
Was ist Python?
Eine der beliebtesten Programmiersprachen weltweit(Platz 1 im Feb. 2019 laut PYPL-Index)
leicht zu erlernen
high-level
interpreted language, also direkt ausfuhrbar(muss nicht erst kompiliert werden)
Multiparadigmensprache
objektorientiert und strukturiertfunktional und aspektorientiert
benannt nach der BBC show “Monty Python’sFlying Circus”(vom Entwickler Guido van Rossum [1991]) Guido van Rossum1
1en.wiki [CC BY-SA 3.0 (http://creativecommons.org/licenses/by-sa/3.0/)]
Stefan Meggendorfer Python Einfuhrung 3
![Page 4: Eine kurze Einführung in Python - simweb.iwr.uni ...simweb.iwr.uni-heidelberg.de/lehre/2019S-EinfNum/python_intro.pdf · Eine kurze Einf uhrung in Python Stefan Meggendorfer IWR,](https://reader030.vdocuments.pub/reader030/viewer/2022040311/5d5cba7388c993442b8b76ff/html5/thumbnails/4.jpg)
Woher bekommt ihr Python?
Linux/UNIX
normalerweise vorinstalliert (z.B. auf Ubuntu)sonst uber die Paketverwaltungzusatzlich wird ein Editor benotigt (mousepad, emacs, gedit, vim, ...)
Windows
unter https://www.python.org/ → DownloadsIm Abschnitt Files die passende Version herunterladen:(Windows x86-64 web-based installer fur 64-bit Version oderWindows x86 web-based installer fur 32-bit Version)Installationsdatei python-3.7.3-webinstall.exe ausfuhrenzusatzlich wird ein Editor benotigt (Notepad++, gedit, emacs, ...)
Eine ausfuhrliche Liste an Editoren findet ihr z.B. unter:https://wiki.python.org/moin/PythonEditors
Stefan Meggendorfer Python Einfuhrung 4
![Page 5: Eine kurze Einführung in Python - simweb.iwr.uni ...simweb.iwr.uni-heidelberg.de/lehre/2019S-EinfNum/python_intro.pdf · Eine kurze Einf uhrung in Python Stefan Meggendorfer IWR,](https://reader030.vdocuments.pub/reader030/viewer/2022040311/5d5cba7388c993442b8b76ff/html5/thumbnails/5.jpg)
Linux-Terminal
Kurze Befehlsubersicht
Dateien und Verzeichnisse anzeigen lassen: ls
Ein Verzeichnis anlegen: mkdir [ORDNER]
In ein Verzeichnis wechseln: cd [ORDNER]
In ein ubergeordnetes Verzeichnis wechseln: cd ..
Dateien und Verzeichnisse loschen: rm -r [FILE]
Dateien und Verzeichnisse kopieren: cp -r [FILE]
Dateien und Verzeichnisse verschieben: mv [FILE]
Inhalt einer Datei anzeigen: less [FILE]
Aktuellen Verzeichnispfad anzeigen: pwd
Anzeigen der Hilfe zu einem Befehl: man [CMD] oder[CMD] --help
Autovervollstandigung: TAB
Anzeigen aller Moglichkeiten: TAB TAB
Programm abbrechen: Ctrl-C
Stefan Meggendorfer Python Einfuhrung 5
![Page 6: Eine kurze Einführung in Python - simweb.iwr.uni ...simweb.iwr.uni-heidelberg.de/lehre/2019S-EinfNum/python_intro.pdf · Eine kurze Einf uhrung in Python Stefan Meggendorfer IWR,](https://reader030.vdocuments.pub/reader030/viewer/2022040311/5d5cba7388c993442b8b76ff/html5/thumbnails/6.jpg)
Linux-Terminal
Passwort andern und merken
1. Terminal offnen
2. In die Kommandozeile
passwd
eintippen und <ENTER> drucken
3. Altes Passwort (xxxxxxxxxx) eintippen
4. Neues Passwort (yyyyyyyyyyyy) eingeben
5. Neues Passwort (yyyyyyyyyyyy) bestatigen
Stefan Meggendorfer Python Einfuhrung 6
![Page 7: Eine kurze Einführung in Python - simweb.iwr.uni ...simweb.iwr.uni-heidelberg.de/lehre/2019S-EinfNum/python_intro.pdf · Eine kurze Einf uhrung in Python Stefan Meggendorfer IWR,](https://reader030.vdocuments.pub/reader030/viewer/2022040311/5d5cba7388c993442b8b76ff/html5/thumbnails/7.jpg)
Linux-Terminal
Ubung
1 Lasst euch alle Dateien und Verzeichnisse anzeigen: ls
2 Legt ein Verzeichnis an: mkdir TestOrdner
3 Benutzt abermals ls. Was hat sich geandert?
4 In das Verzeichnis wechseln: cd TestOrdner
5 Wieder ls verwenden. Beobachtung?
6 In das ubergeordnete Verzeichnis zuruck wechseln: cd ..
7 ls. Und jetzt?
8 Loscht das Verzeichnis: rm -r TestOrdner
9 ls. Der Ordner sollte verschwunden sein!
AufgabeErstellt einen Ordner der PythonIntro heißt und wechselt in diesenOrdner!
Stefan Meggendorfer Python Einfuhrung 7
![Page 8: Eine kurze Einführung in Python - simweb.iwr.uni ...simweb.iwr.uni-heidelberg.de/lehre/2019S-EinfNum/python_intro.pdf · Eine kurze Einf uhrung in Python Stefan Meggendorfer IWR,](https://reader030.vdocuments.pub/reader030/viewer/2022040311/5d5cba7388c993442b8b76ff/html5/thumbnails/8.jpg)
Linux-Terminal
Ubung
1 Lasst euch alle Dateien und Verzeichnisse anzeigen: ls
2 Legt ein Verzeichnis an: mkdir TestOrdner
3 Benutzt abermals ls. Was hat sich geandert?
4 In das Verzeichnis wechseln: cd TestOrdner
5 Wieder ls verwenden. Beobachtung?
6 In das ubergeordnete Verzeichnis zuruck wechseln: cd ..
7 ls. Und jetzt?
8 Loscht das Verzeichnis: rm -r TestOrdner
9 ls. Der Ordner sollte verschwunden sein!
AufgabeErstellt einen Ordner der PythonIntro heißt und wechselt in diesenOrdner!
Stefan Meggendorfer Python Einfuhrung 7
![Page 9: Eine kurze Einführung in Python - simweb.iwr.uni ...simweb.iwr.uni-heidelberg.de/lehre/2019S-EinfNum/python_intro.pdf · Eine kurze Einf uhrung in Python Stefan Meggendorfer IWR,](https://reader030.vdocuments.pub/reader030/viewer/2022040311/5d5cba7388c993442b8b76ff/html5/thumbnails/9.jpg)
Python starten und schließen
Starten von Python im Terminal:
python
Starten einer bestimmten Version von Python (z.B. Version 3):
python3
Beenden von Python:
quit() oder exit() oder Ctrl-D
Stefan Meggendorfer Python Einfuhrung 8
![Page 10: Eine kurze Einführung in Python - simweb.iwr.uni ...simweb.iwr.uni-heidelberg.de/lehre/2019S-EinfNum/python_intro.pdf · Eine kurze Einf uhrung in Python Stefan Meggendorfer IWR,](https://reader030.vdocuments.pub/reader030/viewer/2022040311/5d5cba7388c993442b8b76ff/html5/thumbnails/10.jpg)
Hilfe zu Python
Hilfe-Funktion
Hilfe-Funktion in Python aufrufen:
help()
Schließen der Hilfe-Funktion mit: quit oder Ctrl-D
Hilfe zu einem bestimmten Befehl/Funktion/Ausdruck (z.B. zumBefehl print):
help(’print’)
Schließen der Hilfe hier mit: q
Online-Hilfe
Tutorial: https://docs.python.org/3/tutorial/
Tutorial: https://www.tutorialspoint.com/python/
Bei Programmier-Fragen jeglicher Art sehr hilfreich:https://stackexchange.com/
Stefan Meggendorfer Python Einfuhrung 9
![Page 11: Eine kurze Einführung in Python - simweb.iwr.uni ...simweb.iwr.uni-heidelberg.de/lehre/2019S-EinfNum/python_intro.pdf · Eine kurze Einf uhrung in Python Stefan Meggendorfer IWR,](https://reader030.vdocuments.pub/reader030/viewer/2022040311/5d5cba7388c993442b8b76ff/html5/thumbnails/11.jpg)
Hilfe zu Python
Hilfe-Funktion
Hilfe-Funktion in Python aufrufen:
help()
Schließen der Hilfe-Funktion mit: quit oder Ctrl-D
Hilfe zu einem bestimmten Befehl/Funktion/Ausdruck (z.B. zumBefehl print):
help(’print’)
Schließen der Hilfe hier mit: q
Online-Hilfe
Tutorial: https://docs.python.org/3/tutorial/
Tutorial: https://www.tutorialspoint.com/python/
Bei Programmier-Fragen jeglicher Art sehr hilfreich:https://stackexchange.com/
Stefan Meggendorfer Python Einfuhrung 9
![Page 12: Eine kurze Einführung in Python - simweb.iwr.uni ...simweb.iwr.uni-heidelberg.de/lehre/2019S-EinfNum/python_intro.pdf · Eine kurze Einf uhrung in Python Stefan Meggendorfer IWR,](https://reader030.vdocuments.pub/reader030/viewer/2022040311/5d5cba7388c993442b8b76ff/html5/thumbnails/12.jpg)
Python Interpreter
Interaktiver Modus
1 Python offnen
2 in die Konsole tippen: print("Hello world!")
3 Ausgabe: Hello world!
Python Skript
1 Editor offnen
2 Datei “hello.py” erstellen
3 in hello.py schreiben: print("Hello world!")
4 speichern
5 im Terminal eintippen: python3 hello.py
6 Ausgabe: Hello world!
Stefan Meggendorfer Python Einfuhrung 10
![Page 13: Eine kurze Einführung in Python - simweb.iwr.uni ...simweb.iwr.uni-heidelberg.de/lehre/2019S-EinfNum/python_intro.pdf · Eine kurze Einf uhrung in Python Stefan Meggendorfer IWR,](https://reader030.vdocuments.pub/reader030/viewer/2022040311/5d5cba7388c993442b8b76ff/html5/thumbnails/13.jpg)
Python Interpreter
Interaktiver Modus
1 Python offnen
2 in die Konsole tippen: print("Hello world!")
3 Ausgabe: Hello world!
Python Skript
1 Editor offnen
2 Datei “hello.py” erstellen
3 in hello.py schreiben: print("Hello world!")
4 speichern
5 im Terminal eintippen: python3 hello.py
6 Ausgabe: Hello world!
Stefan Meggendorfer Python Einfuhrung 10
![Page 14: Eine kurze Einführung in Python - simweb.iwr.uni ...simweb.iwr.uni-heidelberg.de/lehre/2019S-EinfNum/python_intro.pdf · Eine kurze Einf uhrung in Python Stefan Meggendorfer IWR,](https://reader030.vdocuments.pub/reader030/viewer/2022040311/5d5cba7388c993442b8b76ff/html5/thumbnails/14.jpg)
Basics
“the best way to learn a language is to use it”
Stefan Meggendorfer Python Einfuhrung 11
![Page 15: Eine kurze Einführung in Python - simweb.iwr.uni ...simweb.iwr.uni-heidelberg.de/lehre/2019S-EinfNum/python_intro.pdf · Eine kurze Einf uhrung in Python Stefan Meggendorfer IWR,](https://reader030.vdocuments.pub/reader030/viewer/2022040311/5d5cba7388c993442b8b76ff/html5/thumbnails/15.jpg)
Zahlenformate
Logik (bool):
Beispiele: True, False
Ganze Zahlen (int):
Beispiele: 0, 1, 12, -7beliebig große Zahlen darstellbar in reinem Python
Reelle Zahlen (float):
Beispiele: 0.0, 1.4, 2., -16.9875, 1e5, 1.e5, 2.345E-2beliebige Genauigkeit (bis auf Maschinengenauigkeit)
Komplexe Zahlen (complex):
Beispiele: 2+4j, 1j, 1.j, -7.5+13.45j
Abfrage eines Objekt-Formats mit type():
>>> type(1)
<type ’int’>
>>> type(True)
<type ’bool’>
Stefan Meggendorfer Python Einfuhrung 12
![Page 16: Eine kurze Einführung in Python - simweb.iwr.uni ...simweb.iwr.uni-heidelberg.de/lehre/2019S-EinfNum/python_intro.pdf · Eine kurze Einf uhrung in Python Stefan Meggendorfer IWR,](https://reader030.vdocuments.pub/reader030/viewer/2022040311/5d5cba7388c993442b8b76ff/html5/thumbnails/16.jpg)
Zahlenformate
Logik (bool):
Beispiele: True, False
Ganze Zahlen (int):
Beispiele: 0, 1, 12, -7beliebig große Zahlen darstellbar in reinem Python
Reelle Zahlen (float):
Beispiele: 0.0, 1.4, 2., -16.9875, 1e5, 1.e5, 2.345E-2beliebige Genauigkeit (bis auf Maschinengenauigkeit)
Komplexe Zahlen (complex):
Beispiele: 2+4j, 1j, 1.j, -7.5+13.45j
Abfrage eines Objekt-Formats mit type():
>>> type(1)
<type ’int’>
>>> type(True)
<type ’bool’>
Stefan Meggendorfer Python Einfuhrung 12
![Page 17: Eine kurze Einführung in Python - simweb.iwr.uni ...simweb.iwr.uni-heidelberg.de/lehre/2019S-EinfNum/python_intro.pdf · Eine kurze Einf uhrung in Python Stefan Meggendorfer IWR,](https://reader030.vdocuments.pub/reader030/viewer/2022040311/5d5cba7388c993442b8b76ff/html5/thumbnails/17.jpg)
Zahlenformate
Logik (bool):
Beispiele: True, False
Ganze Zahlen (int):
Beispiele: 0, 1, 12, -7beliebig große Zahlen darstellbar in reinem Python
Reelle Zahlen (float):
Beispiele: 0.0, 1.4, 2., -16.9875, 1e5, 1.e5, 2.345E-2beliebige Genauigkeit (bis auf Maschinengenauigkeit)
Komplexe Zahlen (complex):
Beispiele: 2+4j, 1j, 1.j, -7.5+13.45j
Abfrage eines Objekt-Formats mit type():
>>> type(1)
<type ’int’>
>>> type(True)
<type ’bool’>
Stefan Meggendorfer Python Einfuhrung 12
![Page 18: Eine kurze Einführung in Python - simweb.iwr.uni ...simweb.iwr.uni-heidelberg.de/lehre/2019S-EinfNum/python_intro.pdf · Eine kurze Einf uhrung in Python Stefan Meggendorfer IWR,](https://reader030.vdocuments.pub/reader030/viewer/2022040311/5d5cba7388c993442b8b76ff/html5/thumbnails/18.jpg)
Zahlenformate
Logik (bool):
Beispiele: True, False
Ganze Zahlen (int):
Beispiele: 0, 1, 12, -7beliebig große Zahlen darstellbar in reinem Python
Reelle Zahlen (float):
Beispiele: 0.0, 1.4, 2., -16.9875, 1e5, 1.e5, 2.345E-2beliebige Genauigkeit (bis auf Maschinengenauigkeit)
Komplexe Zahlen (complex):
Beispiele: 2+4j, 1j, 1.j, -7.5+13.45j
Abfrage eines Objekt-Formats mit type():
>>> type(1)
<type ’int’>
>>> type(True)
<type ’bool’>
Stefan Meggendorfer Python Einfuhrung 12
![Page 19: Eine kurze Einführung in Python - simweb.iwr.uni ...simweb.iwr.uni-heidelberg.de/lehre/2019S-EinfNum/python_intro.pdf · Eine kurze Einf uhrung in Python Stefan Meggendorfer IWR,](https://reader030.vdocuments.pub/reader030/viewer/2022040311/5d5cba7388c993442b8b76ff/html5/thumbnails/19.jpg)
Zahlenformate
Logik (bool):
Beispiele: True, False
Ganze Zahlen (int):
Beispiele: 0, 1, 12, -7beliebig große Zahlen darstellbar in reinem Python
Reelle Zahlen (float):
Beispiele: 0.0, 1.4, 2., -16.9875, 1e5, 1.e5, 2.345E-2beliebige Genauigkeit (bis auf Maschinengenauigkeit)
Komplexe Zahlen (complex):
Beispiele: 2+4j, 1j, 1.j, -7.5+13.45j
Abfrage eines Objekt-Formats mit type():
>>> type(1)
<type ’int’>
>>> type(True)
<type ’bool’>
Stefan Meggendorfer Python Einfuhrung 12
![Page 20: Eine kurze Einführung in Python - simweb.iwr.uni ...simweb.iwr.uni-heidelberg.de/lehre/2019S-EinfNum/python_intro.pdf · Eine kurze Einf uhrung in Python Stefan Meggendorfer IWR,](https://reader030.vdocuments.pub/reader030/viewer/2022040311/5d5cba7388c993442b8b76ff/html5/thumbnails/20.jpg)
Rechenoperationen
Grundoperationen: + - * /
Gruppierung: ()
Potenz: **
Floor division: // (geteilt und gerundet gegen −∞)
Modulo: %
Bemerkung: In Version 3 gibt jede Division einen float zuruck.
>>> 5/3
1.6666666666666667
Vorsicht: bei Division mit int in Version 2!!!
>>> 5./3
1.6666666666666667
>>> -5/3.
-1.6666666666666667
>>> 5/3
1
>>> -5/3
-2
Stefan Meggendorfer Python Einfuhrung 13
![Page 21: Eine kurze Einführung in Python - simweb.iwr.uni ...simweb.iwr.uni-heidelberg.de/lehre/2019S-EinfNum/python_intro.pdf · Eine kurze Einf uhrung in Python Stefan Meggendorfer IWR,](https://reader030.vdocuments.pub/reader030/viewer/2022040311/5d5cba7388c993442b8b76ff/html5/thumbnails/21.jpg)
Rechenoperationen
Grundoperationen: + - * /
Gruppierung: ()
Potenz: **
Floor division: // (geteilt und gerundet gegen −∞)
Modulo: %
Bemerkung: In Version 3 gibt jede Division einen float zuruck.
>>> 5/3
1.6666666666666667
Vorsicht: bei Division mit int in Version 2!!!
>>> 5./3
1.6666666666666667
>>> -5/3.
-1.6666666666666667
>>> 5/3
1
>>> -5/3
-2
Stefan Meggendorfer Python Einfuhrung 13
![Page 22: Eine kurze Einführung in Python - simweb.iwr.uni ...simweb.iwr.uni-heidelberg.de/lehre/2019S-EinfNum/python_intro.pdf · Eine kurze Einf uhrung in Python Stefan Meggendorfer IWR,](https://reader030.vdocuments.pub/reader030/viewer/2022040311/5d5cba7388c993442b8b76ff/html5/thumbnails/22.jpg)
Variablen und ZuweisungenEiner Variable einen Wert zuweisen:
n = 1
Der Variable n wird der int Wert
1 zugewiesen
width = 13.6
Der Variable width wird der float
Wert 13.6 zugewiesen
Mehreren Variablen gleichzeitig Werte zuweisen (multipleassignement):
n, width , length = 5, 13.6, 4.2
ist gleichbedeutend zu
n = 5
width = 13.6
length = 4.2
Variablen loschen mit del
>>> s = 1
>>> del(s)
>>> s
Traceback (most recent call last):
File ‘‘<stdin>’’, line 1, in <module>
NameError: name ’s’ is not defined
Stefan Meggendorfer Python Einfuhrung 14
![Page 23: Eine kurze Einführung in Python - simweb.iwr.uni ...simweb.iwr.uni-heidelberg.de/lehre/2019S-EinfNum/python_intro.pdf · Eine kurze Einf uhrung in Python Stefan Meggendorfer IWR,](https://reader030.vdocuments.pub/reader030/viewer/2022040311/5d5cba7388c993442b8b76ff/html5/thumbnails/23.jpg)
Variablen und ZuweisungenEiner Variable einen Wert zuweisen:
n = 1
Der Variable n wird der int Wert
1 zugewiesen
width = 13.6
Der Variable width wird der float
Wert 13.6 zugewiesen
Mehreren Variablen gleichzeitig Werte zuweisen (multipleassignement):
n, width , length = 5, 13.6, 4.2
ist gleichbedeutend zu
n = 5
width = 13.6
length = 4.2
Variablen loschen mit del
>>> s = 1
>>> del(s)
>>> s
Traceback (most recent call last):
File ‘‘<stdin>’’, line 1, in <module>
NameError: name ’s’ is not defined
Stefan Meggendorfer Python Einfuhrung 14
![Page 24: Eine kurze Einführung in Python - simweb.iwr.uni ...simweb.iwr.uni-heidelberg.de/lehre/2019S-EinfNum/python_intro.pdf · Eine kurze Einf uhrung in Python Stefan Meggendorfer IWR,](https://reader030.vdocuments.pub/reader030/viewer/2022040311/5d5cba7388c993442b8b76ff/html5/thumbnails/24.jpg)
Variablen und ZuweisungenEiner Variable einen Wert zuweisen:
n = 1
Der Variable n wird der int Wert
1 zugewiesen
width = 13.6
Der Variable width wird der float
Wert 13.6 zugewiesen
Mehreren Variablen gleichzeitig Werte zuweisen (multipleassignement):
n, width , length = 5, 13.6, 4.2
ist gleichbedeutend zu
n = 5
width = 13.6
length = 4.2
Variablen loschen mit del
>>> s = 1
>>> del(s)
>>> s
Traceback (most recent call last):
File ‘‘<stdin>’’, line 1, in <module>
NameError: name ’s’ is not defined
Stefan Meggendorfer Python Einfuhrung 14
![Page 25: Eine kurze Einführung in Python - simweb.iwr.uni ...simweb.iwr.uni-heidelberg.de/lehre/2019S-EinfNum/python_intro.pdf · Eine kurze Einf uhrung in Python Stefan Meggendorfer IWR,](https://reader030.vdocuments.pub/reader030/viewer/2022040311/5d5cba7388c993442b8b76ff/html5/thumbnails/25.jpg)
Kombinierte Rechenoperationen
Rechenoperationen, die Variablen direkt verandern (“in-place”)
x += 2 # Erhoehung von x um den Wert 2
x -= 2 # Erniedrigung von x um den Wert 2
x *= 2 # Multiplikation von x mit 2
x /= 2 # Division von x durch 2
x **= 2 # Potenzieren von x hoch 2
(mathematisch) gleichbedeutend zu
x = x+2
x = x-2
x = x*2
x = x/2
x = x **2
ohne dabei neuen Speicherplatz zu allokieren.
Stefan Meggendorfer Python Einfuhrung 15
![Page 26: Eine kurze Einführung in Python - simweb.iwr.uni ...simweb.iwr.uni-heidelberg.de/lehre/2019S-EinfNum/python_intro.pdf · Eine kurze Einf uhrung in Python Stefan Meggendorfer IWR,](https://reader030.vdocuments.pub/reader030/viewer/2022040311/5d5cba7388c993442b8b76ff/html5/thumbnails/26.jpg)
Strings 1
Texte werden in Anfuhrungszeichen geschrieben: "" oder ’’
string = "text" string = ’text’
Alles innerhalb des ersten und letzten Anfuhrungszeichens wird alsText interpretiert.
Beispiel 1:
>>> print(’#achte auf die "Anfuehrungszeichen "!’)
#achte auf die " Anfuehrungszeichen "!
Beispiel 2:
>>> print("#achte auf die ’Anfuehrungszeichen ’!")
#achte auf die ’Anfuehrungszeichen ’!
Stefan Meggendorfer Python Einfuhrung 16
![Page 27: Eine kurze Einführung in Python - simweb.iwr.uni ...simweb.iwr.uni-heidelberg.de/lehre/2019S-EinfNum/python_intro.pdf · Eine kurze Einf uhrung in Python Stefan Meggendorfer IWR,](https://reader030.vdocuments.pub/reader030/viewer/2022040311/5d5cba7388c993442b8b76ff/html5/thumbnails/27.jpg)
Strings 1
Texte werden in Anfuhrungszeichen geschrieben: "" oder ’’
string = "text" string = ’text’
Alles innerhalb des ersten und letzten Anfuhrungszeichens wird alsText interpretiert.
Beispiel 1:
>>> print(’#achte auf die "Anfuehrungszeichen "!’)
#achte auf die " Anfuehrungszeichen "!
Beispiel 2:
>>> print("#achte auf die ’Anfuehrungszeichen ’!")
#achte auf die ’Anfuehrungszeichen ’!
Stefan Meggendorfer Python Einfuhrung 16
![Page 28: Eine kurze Einführung in Python - simweb.iwr.uni ...simweb.iwr.uni-heidelberg.de/lehre/2019S-EinfNum/python_intro.pdf · Eine kurze Einf uhrung in Python Stefan Meggendorfer IWR,](https://reader030.vdocuments.pub/reader030/viewer/2022040311/5d5cba7388c993442b8b76ff/html5/thumbnails/28.jpg)
Strings 1
Texte werden in Anfuhrungszeichen geschrieben: "" oder ’’
string = "text" string = ’text’
Alles innerhalb des ersten und letzten Anfuhrungszeichens wird alsText interpretiert.
Beispiel 1:
>>> print(’#achte auf die "Anfuehrungszeichen "!’)
#achte auf die " Anfuehrungszeichen "!
Beispiel 2:
>>> print("#achte auf die ’Anfuehrungszeichen ’!")
#achte auf die ’Anfuehrungszeichen ’!
Stefan Meggendorfer Python Einfuhrung 16
![Page 29: Eine kurze Einführung in Python - simweb.iwr.uni ...simweb.iwr.uni-heidelberg.de/lehre/2019S-EinfNum/python_intro.pdf · Eine kurze Einf uhrung in Python Stefan Meggendorfer IWR,](https://reader030.vdocuments.pub/reader030/viewer/2022040311/5d5cba7388c993442b8b76ff/html5/thumbnails/29.jpg)
Strings 1
Texte werden in Anfuhrungszeichen geschrieben: "" oder ’’
string = "text" string = ’text’
Alles innerhalb des ersten und letzten Anfuhrungszeichens wird alsText interpretiert.
Beispiel 1:
>>> print(’#achte auf die "Anfuehrungszeichen "!’)
#achte auf die " Anfuehrungszeichen "!
Beispiel 2:
>>> print("#achte auf die ’Anfuehrungszeichen ’!")
#achte auf die ’Anfuehrungszeichen ’!
Stefan Meggendorfer Python Einfuhrung 16
![Page 30: Eine kurze Einführung in Python - simweb.iwr.uni ...simweb.iwr.uni-heidelberg.de/lehre/2019S-EinfNum/python_intro.pdf · Eine kurze Einf uhrung in Python Stefan Meggendorfer IWR,](https://reader030.vdocuments.pub/reader030/viewer/2022040311/5d5cba7388c993442b8b76ff/html5/thumbnails/30.jpg)
Strings 2
Mehrere Zeilen schreiben mit """mehrzeiliger Text""",Zeilenumbruche verhindern mit \
>>> print(""" Erste Zeile\
... mehr in der ersten Zeile
... zweite Zeile """)
Ausgabe:
Erste Zeilemehr in der ersten Zeile
zweite Zeile
Strings zusammenfuhren mit +
>>> s1, s2 = ’text’, ’message ’
>>> print(s1+s2)
textmessage
Stefan Meggendorfer Python Einfuhrung 17
![Page 31: Eine kurze Einführung in Python - simweb.iwr.uni ...simweb.iwr.uni-heidelberg.de/lehre/2019S-EinfNum/python_intro.pdf · Eine kurze Einf uhrung in Python Stefan Meggendorfer IWR,](https://reader030.vdocuments.pub/reader030/viewer/2022040311/5d5cba7388c993442b8b76ff/html5/thumbnails/31.jpg)
Strings 2
Mehrere Zeilen schreiben mit """mehrzeiliger Text""",Zeilenumbruche verhindern mit \
>>> print(""" Erste Zeile\
... mehr in der ersten Zeile
... zweite Zeile """)
Ausgabe:
Erste Zeilemehr in der ersten Zeile
zweite Zeile
Strings zusammenfuhren mit +
>>> s1, s2 = ’text’, ’message ’
>>> print(s1+s2)
textmessage
Stefan Meggendorfer Python Einfuhrung 17
![Page 32: Eine kurze Einführung in Python - simweb.iwr.uni ...simweb.iwr.uni-heidelberg.de/lehre/2019S-EinfNum/python_intro.pdf · Eine kurze Einf uhrung in Python Stefan Meggendorfer IWR,](https://reader030.vdocuments.pub/reader030/viewer/2022040311/5d5cba7388c993442b8b76ff/html5/thumbnails/32.jpg)
Listen 1
Eine Liste erstellen mit [ ]
squares = [1, 4, 9, 16, 25]
Auf Elemente zugreifen
Nummerierung von 0 bis n-1
>>> squares[0]
1
>>> squares[4]
25
oder ruckwarts von -1 bis -n
>>> squares[-1]
25
>>> squares[-5]
1
Auf Listenabschnitte zugreifen
>>> squares[2:4]
[9, 16]
>>> squares[3:4]
[16]
>>> squares[2:]
[9, 16 , 25]
>>> squares[:4]
[1, 4, 9, 16]
Stefan Meggendorfer Python Einfuhrung 18
![Page 33: Eine kurze Einführung in Python - simweb.iwr.uni ...simweb.iwr.uni-heidelberg.de/lehre/2019S-EinfNum/python_intro.pdf · Eine kurze Einf uhrung in Python Stefan Meggendorfer IWR,](https://reader030.vdocuments.pub/reader030/viewer/2022040311/5d5cba7388c993442b8b76ff/html5/thumbnails/33.jpg)
Listen 1
Eine Liste erstellen mit [ ]
squares = [1, 4, 9, 16, 25]
Auf Elemente zugreifen
Nummerierung von 0 bis n-1
>>> squares[0]
1
>>> squares[4]
25
oder ruckwarts von -1 bis -n
>>> squares[-1]
25
>>> squares[-5]
1
Auf Listenabschnitte zugreifen
>>> squares[2:4]
[9, 16]
>>> squares[3:4]
[16]
>>> squares[2:]
[9, 16 , 25]
>>> squares[:4]
[1, 4, 9, 16]
Stefan Meggendorfer Python Einfuhrung 18
![Page 34: Eine kurze Einführung in Python - simweb.iwr.uni ...simweb.iwr.uni-heidelberg.de/lehre/2019S-EinfNum/python_intro.pdf · Eine kurze Einf uhrung in Python Stefan Meggendorfer IWR,](https://reader030.vdocuments.pub/reader030/viewer/2022040311/5d5cba7388c993442b8b76ff/html5/thumbnails/34.jpg)
Listen 1
Eine Liste erstellen mit [ ]
squares = [1, 4, 9, 16, 25]
Auf Elemente zugreifen
Nummerierung von 0 bis n-1
>>> squares[0]
1
>>> squares[4]
25
oder ruckwarts von -1 bis -n
>>> squares[-1]
25
>>> squares[-5]
1
Auf Listenabschnitte zugreifen
>>> squares[2:4]
[9, 16]
>>> squares[3:4]
[16]
>>> squares[2:]
[9, 16 , 25]
>>> squares[:4]
[1, 4, 9, 16]
Stefan Meggendorfer Python Einfuhrung 18
![Page 35: Eine kurze Einführung in Python - simweb.iwr.uni ...simweb.iwr.uni-heidelberg.de/lehre/2019S-EinfNum/python_intro.pdf · Eine kurze Einf uhrung in Python Stefan Meggendorfer IWR,](https://reader030.vdocuments.pub/reader030/viewer/2022040311/5d5cba7388c993442b8b76ff/html5/thumbnails/35.jpg)
Listen 2Werte zuweisen
>>> squares[1] = 100
>>> squares
[1, 100 , 9, 16 , 25]
>>> squares[1] = []
>>> squares
[1, [], 9, 16 , 25]
Listenabschnitte zuweisen
>>> squares[0:3] = [100 , 200 , 300]
>>> squares
[100 , 200 , 300 , 16 , 25]
>>> squares[0:3] = []
>>> squares
[16 , 25]
Liste von Listen
>>> A = [[1, 2, 3], [5, 7]]
>>> A[0]
[1, 2, 3]
>>> A[0][2]
3
Stefan Meggendorfer Python Einfuhrung 19
![Page 36: Eine kurze Einführung in Python - simweb.iwr.uni ...simweb.iwr.uni-heidelberg.de/lehre/2019S-EinfNum/python_intro.pdf · Eine kurze Einf uhrung in Python Stefan Meggendorfer IWR,](https://reader030.vdocuments.pub/reader030/viewer/2022040311/5d5cba7388c993442b8b76ff/html5/thumbnails/36.jpg)
Listen 2Werte zuweisen
>>> squares[1] = 100
>>> squares
[1, 100 , 9, 16 , 25]
>>> squares[1] = []
>>> squares
[1, [], 9, 16 , 25]
Listenabschnitte zuweisen
>>> squares[0:3] = [100 , 200 , 300]
>>> squares
[100 , 200 , 300 , 16 , 25]
>>> squares[0:3] = []
>>> squares
[16 , 25]
Liste von Listen
>>> A = [[1, 2, 3], [5, 7]]
>>> A[0]
[1, 2, 3]
>>> A[0][2]
3
Stefan Meggendorfer Python Einfuhrung 19
![Page 37: Eine kurze Einführung in Python - simweb.iwr.uni ...simweb.iwr.uni-heidelberg.de/lehre/2019S-EinfNum/python_intro.pdf · Eine kurze Einf uhrung in Python Stefan Meggendorfer IWR,](https://reader030.vdocuments.pub/reader030/viewer/2022040311/5d5cba7388c993442b8b76ff/html5/thumbnails/37.jpg)
Listen 2Werte zuweisen
>>> squares[1] = 100
>>> squares
[1, 100 , 9, 16 , 25]
>>> squares[1] = []
>>> squares
[1, [], 9, 16 , 25]
Listenabschnitte zuweisen
>>> squares[0:3] = [100 , 200 , 300]
>>> squares
[100 , 200 , 300 , 16 , 25]
>>> squares[0:3] = []
>>> squares
[16 , 25]
Liste von Listen
>>> A = [[1, 2, 3], [5, 7]]
>>> A[0]
[1, 2, 3]
>>> A[0][2]
3
Stefan Meggendorfer Python Einfuhrung 19
![Page 38: Eine kurze Einführung in Python - simweb.iwr.uni ...simweb.iwr.uni-heidelberg.de/lehre/2019S-EinfNum/python_intro.pdf · Eine kurze Einf uhrung in Python Stefan Meggendorfer IWR,](https://reader030.vdocuments.pub/reader030/viewer/2022040311/5d5cba7388c993442b8b76ff/html5/thumbnails/38.jpg)
Listen 3
Liste erweitern mit + und += :
>>> liste = [0, 1, 2] + [42 , 43 , 44]
>>> liste
[0, 1, 2, 42, 43 , 44]
>>> liste = [0, 1, 2]
>>> liste += [42]
>>> liste
[0, 1, 2, 42]
oder mit der Methode obj.append() des Obejekts obj:
>>> liste = [0, 1, 2]
>>> liste.append(42)
>>> liste
[0, 1, 2, 42]
Stefan Meggendorfer Python Einfuhrung 20
![Page 39: Eine kurze Einführung in Python - simweb.iwr.uni ...simweb.iwr.uni-heidelberg.de/lehre/2019S-EinfNum/python_intro.pdf · Eine kurze Einf uhrung in Python Stefan Meggendorfer IWR,](https://reader030.vdocuments.pub/reader030/viewer/2022040311/5d5cba7388c993442b8b76ff/html5/thumbnails/39.jpg)
Tuple
Erstellen eines tuple mit ()
>>> t1 = (1,2)
>>> t1
(1, 2)
>>> t2 = (1,2,3,4)
>>> t2
(1, 2, 3, 4)
>>> t3 = ()
>>> type(t3)
<type ’tuple ’>
>>> t4 = ((1, 2), (3, 4))
>>> t4
((1, 2), (3, 4))
Auslesen eines tuple mit [ ]
>>> t = (1, 2, 3, 4)
>>> t[0]
1
>>> t[3]
4
>>> t[1:3]
(2, 3)
Stefan Meggendorfer Python Einfuhrung 21
![Page 40: Eine kurze Einführung in Python - simweb.iwr.uni ...simweb.iwr.uni-heidelberg.de/lehre/2019S-EinfNum/python_intro.pdf · Eine kurze Einf uhrung in Python Stefan Meggendorfer IWR,](https://reader030.vdocuments.pub/reader030/viewer/2022040311/5d5cba7388c993442b8b76ff/html5/thumbnails/40.jpg)
Tuple vs. List
Tuple
sind nicht veranderbar, nachdem sie erstellt wurden
nur das Auslesen ist erlaubt
benotigen weniger Speicherplatz als List
List
sind veranderbar
konnen ausgelesen, modifiziert, erweitert, verkleinert werden
benotigen mehr Speicherplatz als Tuple
Stefan Meggendorfer Python Einfuhrung 22
![Page 41: Eine kurze Einführung in Python - simweb.iwr.uni ...simweb.iwr.uni-heidelberg.de/lehre/2019S-EinfNum/python_intro.pdf · Eine kurze Einf uhrung in Python Stefan Meggendorfer IWR,](https://reader030.vdocuments.pub/reader030/viewer/2022040311/5d5cba7388c993442b8b76ff/html5/thumbnails/41.jpg)
Kommentare
Kommentare beginnen mit einem # und werden vom Python-Interpreternicht ausgefuhrt:
# Erstmal ein Kommentar zu Anfang
x = 1 # Wir weisen der Variablen x den Wert 1 zu
# Hier schreiben wir noch einen Kommentar
text = "# KEIN Kommentar , wegen der Anfuehrungszeichen!"
# #######################################################
# TODO: Kommentare weglassen und Code so lesbar
# schreiben , dass moeglichst keine Kommentare
# noetig sind !!!
# #######################################################
ist gleichbedeutend zu
x = 1
text = "# KEIN Kommentar , wegen der Anfuehrungszeichen!"
Stefan Meggendorfer Python Einfuhrung 23
![Page 42: Eine kurze Einführung in Python - simweb.iwr.uni ...simweb.iwr.uni-heidelberg.de/lehre/2019S-EinfNum/python_intro.pdf · Eine kurze Einf uhrung in Python Stefan Meggendorfer IWR,](https://reader030.vdocuments.pub/reader030/viewer/2022040311/5d5cba7388c993442b8b76ff/html5/thumbnails/42.jpg)
Logische Operationen
Wertevergleich
== # ist gleich
!= # ist nicht gleich
< # kleiner als
<= # kleiner oder gleich
> # groesser als
>= # groesser oder gleich
Logische Operatoren
and or not
Identitatsvergleich
is is not
Mengenzugehorigkeit
in not in
Stefan Meggendorfer Python Einfuhrung 24
![Page 43: Eine kurze Einführung in Python - simweb.iwr.uni ...simweb.iwr.uni-heidelberg.de/lehre/2019S-EinfNum/python_intro.pdf · Eine kurze Einf uhrung in Python Stefan Meggendorfer IWR,](https://reader030.vdocuments.pub/reader030/viewer/2022040311/5d5cba7388c993442b8b76ff/html5/thumbnails/43.jpg)
Logische Operationen
Wertevergleich
== # ist gleich
!= # ist nicht gleich
< # kleiner als
<= # kleiner oder gleich
> # groesser als
>= # groesser oder gleich
Logische Operatoren
and or not
Identitatsvergleich
is is not
Mengenzugehorigkeit
in not in
Stefan Meggendorfer Python Einfuhrung 24
![Page 44: Eine kurze Einführung in Python - simweb.iwr.uni ...simweb.iwr.uni-heidelberg.de/lehre/2019S-EinfNum/python_intro.pdf · Eine kurze Einf uhrung in Python Stefan Meggendorfer IWR,](https://reader030.vdocuments.pub/reader030/viewer/2022040311/5d5cba7388c993442b8b76ff/html5/thumbnails/44.jpg)
Logische Operationen
Wertevergleich
== # ist gleich
!= # ist nicht gleich
< # kleiner als
<= # kleiner oder gleich
> # groesser als
>= # groesser oder gleich
Logische Operatoren
and or not
Identitatsvergleich
is is not
Mengenzugehorigkeit
in not in
Stefan Meggendorfer Python Einfuhrung 24
![Page 45: Eine kurze Einführung in Python - simweb.iwr.uni ...simweb.iwr.uni-heidelberg.de/lehre/2019S-EinfNum/python_intro.pdf · Eine kurze Einf uhrung in Python Stefan Meggendorfer IWR,](https://reader030.vdocuments.pub/reader030/viewer/2022040311/5d5cba7388c993442b8b76ff/html5/thumbnails/45.jpg)
Logische Operationen
Wertevergleich
== # ist gleich
!= # ist nicht gleich
< # kleiner als
<= # kleiner oder gleich
> # groesser als
>= # groesser oder gleich
Logische Operatoren
and or not
Identitatsvergleich
is is not
Mengenzugehorigkeit
in not in
Stefan Meggendorfer Python Einfuhrung 24
![Page 46: Eine kurze Einführung in Python - simweb.iwr.uni ...simweb.iwr.uni-heidelberg.de/lehre/2019S-EinfNum/python_intro.pdf · Eine kurze Einf uhrung in Python Stefan Meggendorfer IWR,](https://reader030.vdocuments.pub/reader030/viewer/2022040311/5d5cba7388c993442b8b76ff/html5/thumbnails/46.jpg)
Nutzliche Funktionenprint(...)
>>> print(5, ’text’, sep=’_’, end=’\n’)
5_string
len(container)
>>> len([1, ’a’, [2, 3], "wort"])
4
range(start=0, stop, step=1)
>>> range(5)
0, 1, 2, 3, 4
>>> range(1, 4)
1, 2, 3
>>> range(1, 10 , 2)
1, 3, 5, 7, 9
list(iterable)
>>> list(range(1, 10 , 2))
[1, 3, 5, 7, 9]
Stefan Meggendorfer Python Einfuhrung 25
![Page 47: Eine kurze Einführung in Python - simweb.iwr.uni ...simweb.iwr.uni-heidelberg.de/lehre/2019S-EinfNum/python_intro.pdf · Eine kurze Einf uhrung in Python Stefan Meggendorfer IWR,](https://reader030.vdocuments.pub/reader030/viewer/2022040311/5d5cba7388c993442b8b76ff/html5/thumbnails/47.jpg)
Blocke
Strukturierung durch EinruckenBlocke (z.B. alles was zu for oder if gehoren soll) werden durch gleicheAnzahl an Leerzeichen festgelegt!!!
>>> for x in range(100):
... if x == 2:
... print("for -Schleife wird abgebrochen")
... break
... print(x)
Empfehlung
4 Leerzeichen
keine Tabs benutzen
vor allem nicht Tabs und Leerzeichen mischen!
Stefan Meggendorfer Python Einfuhrung 26
![Page 48: Eine kurze Einführung in Python - simweb.iwr.uni ...simweb.iwr.uni-heidelberg.de/lehre/2019S-EinfNum/python_intro.pdf · Eine kurze Einf uhrung in Python Stefan Meggendorfer IWR,](https://reader030.vdocuments.pub/reader030/viewer/2022040311/5d5cba7388c993442b8b76ff/html5/thumbnails/48.jpg)
Blocke
Strukturierung durch EinruckenBlocke (z.B. alles was zu for oder if gehoren soll) werden durch gleicheAnzahl an Leerzeichen festgelegt!!!
>>> for x in range(100):
... if x == 2:
... print("for -Schleife wird abgebrochen")
... break
... print(x)
Empfehlung
4 Leerzeichen
keine Tabs benutzen
vor allem nicht Tabs und Leerzeichen mischen!
Stefan Meggendorfer Python Einfuhrung 26
![Page 49: Eine kurze Einführung in Python - simweb.iwr.uni ...simweb.iwr.uni-heidelberg.de/lehre/2019S-EinfNum/python_intro.pdf · Eine kurze Einf uhrung in Python Stefan Meggendorfer IWR,](https://reader030.vdocuments.pub/reader030/viewer/2022040311/5d5cba7388c993442b8b76ff/html5/thumbnails/49.jpg)
Control Flow Tools 1
Bedingte Wertzuweisung
x = a if condition else b
Beispiel:
>>> A = False
>>> x = 1 if A else 2
>>> print(x)
2
Stefan Meggendorfer Python Einfuhrung 27
![Page 50: Eine kurze Einführung in Python - simweb.iwr.uni ...simweb.iwr.uni-heidelberg.de/lehre/2019S-EinfNum/python_intro.pdf · Eine kurze Einf uhrung in Python Stefan Meggendorfer IWR,](https://reader030.vdocuments.pub/reader030/viewer/2022040311/5d5cba7388c993442b8b76ff/html5/thumbnails/50.jpg)
Control Flow Tools 2
if-Verzweigung
if condition:
statement
elif condition:
statement
else:
statement
Beispiel:
>>> x = float(input(’Please enter a real number: ’))
Please enter a real number: -5
>>> if x > 0:
... print(x, ’> 0’)
... elif x < -1:
... print(x, ’< -1’)
... else:
... print(x, ’in [-1,1]’)
...
-5.0 < -1
Stefan Meggendorfer Python Einfuhrung 28
![Page 51: Eine kurze Einführung in Python - simweb.iwr.uni ...simweb.iwr.uni-heidelberg.de/lehre/2019S-EinfNum/python_intro.pdf · Eine kurze Einf uhrung in Python Stefan Meggendorfer IWR,](https://reader030.vdocuments.pub/reader030/viewer/2022040311/5d5cba7388c993442b8b76ff/html5/thumbnails/51.jpg)
Control Flow Tools 3
while-Schleife
while condition:
statement
Beispiel:
>>> a = 0;
>>> while a < 3:
... a += 1
... print(a)
...
1
2
3
Stefan Meggendorfer Python Einfuhrung 29
![Page 52: Eine kurze Einführung in Python - simweb.iwr.uni ...simweb.iwr.uni-heidelberg.de/lehre/2019S-EinfNum/python_intro.pdf · Eine kurze Einf uhrung in Python Stefan Meggendorfer IWR,](https://reader030.vdocuments.pub/reader030/viewer/2022040311/5d5cba7388c993442b8b76ff/html5/thumbnails/52.jpg)
Control Flow Tools 4
for-Schleife
for target_list in expression_list:
statement
Beispiel:
>>> # Laenge von strings messen:
... words = [’cat’, ’window ’, ’defenestrate ’]
>>> for w in words:
... print(w, len(w))
...
cat 3
window 6
defenestrate 12
Stefan Meggendorfer Python Einfuhrung 30
![Page 53: Eine kurze Einführung in Python - simweb.iwr.uni ...simweb.iwr.uni-heidelberg.de/lehre/2019S-EinfNum/python_intro.pdf · Eine kurze Einf uhrung in Python Stefan Meggendorfer IWR,](https://reader030.vdocuments.pub/reader030/viewer/2022040311/5d5cba7388c993442b8b76ff/html5/thumbnails/53.jpg)
Control Flow Tools 5break: Unterbricht for- oder while-Schleifen
>>> for x in range(100):
... if x == 2:
... break
... print(x)
...
0
1
continue: Fortfahren mit nachster Iteration einer for- oderwhile-Schleife
>>> for x in range(4):
... if x == 2:
... continue
... print(x)
...
0
1
3
pass: Macht nichts
Stefan Meggendorfer Python Einfuhrung 31
![Page 54: Eine kurze Einführung in Python - simweb.iwr.uni ...simweb.iwr.uni-heidelberg.de/lehre/2019S-EinfNum/python_intro.pdf · Eine kurze Einf uhrung in Python Stefan Meggendorfer IWR,](https://reader030.vdocuments.pub/reader030/viewer/2022040311/5d5cba7388c993442b8b76ff/html5/thumbnails/54.jpg)
Control Flow Tools 5break: Unterbricht for- oder while-Schleifen
>>> for x in range(100):
... if x == 2:
... break
... print(x)
...
0
1
continue: Fortfahren mit nachster Iteration einer for- oderwhile-Schleife
>>> for x in range(4):
... if x == 2:
... continue
... print(x)
...
0
1
3
pass: Macht nichts
Stefan Meggendorfer Python Einfuhrung 31
![Page 55: Eine kurze Einführung in Python - simweb.iwr.uni ...simweb.iwr.uni-heidelberg.de/lehre/2019S-EinfNum/python_intro.pdf · Eine kurze Einf uhrung in Python Stefan Meggendorfer IWR,](https://reader030.vdocuments.pub/reader030/viewer/2022040311/5d5cba7388c993442b8b76ff/html5/thumbnails/55.jpg)
Control Flow Tools 5break: Unterbricht for- oder while-Schleifen
>>> for x in range(100):
... if x == 2:
... break
... print(x)
...
0
1
continue: Fortfahren mit nachster Iteration einer for- oderwhile-Schleife
>>> for x in range(4):
... if x == 2:
... continue
... print(x)
...
0
1
3
pass: Macht nichts
Stefan Meggendorfer Python Einfuhrung 31
![Page 56: Eine kurze Einführung in Python - simweb.iwr.uni ...simweb.iwr.uni-heidelberg.de/lehre/2019S-EinfNum/python_intro.pdf · Eine kurze Einf uhrung in Python Stefan Meggendorfer IWR,](https://reader030.vdocuments.pub/reader030/viewer/2022040311/5d5cba7388c993442b8b76ff/html5/thumbnails/56.jpg)
Funktionen 1
Funktion definieren mit defSchreibe Fibonacci-Folge bis n
>>> def fib(n):
... a, b = 0, 1
... while a < n:
... print(a, end=’ ’)
... a, b = b, a+b
... print()
...
Aufrufen der Funktion
>>> fib(2000)
0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597
Stefan Meggendorfer Python Einfuhrung 32
![Page 57: Eine kurze Einführung in Python - simweb.iwr.uni ...simweb.iwr.uni-heidelberg.de/lehre/2019S-EinfNum/python_intro.pdf · Eine kurze Einf uhrung in Python Stefan Meggendorfer IWR,](https://reader030.vdocuments.pub/reader030/viewer/2022040311/5d5cba7388c993442b8b76ff/html5/thumbnails/57.jpg)
Funktionen 2
Default argumentsSchreibe Fibonacci-Folge bis n (mit Default-Wert n = 100)
>>> def fib2(n=100):
... a, b = 0, 1
... while a < n:
... print(a, end=’ ’)
... a, b = b, a+b
... print()
...
Aufrufen der Funktion
>>> fib2(2000)
0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597
Aufrufen der Funktion mit Default-Wert n = 100
>>> fib2()
[0, 1, 1, 2, 3, 5, 8, 13, 21, 34 , 55 , 89]
Stefan Meggendorfer Python Einfuhrung 33
![Page 58: Eine kurze Einführung in Python - simweb.iwr.uni ...simweb.iwr.uni-heidelberg.de/lehre/2019S-EinfNum/python_intro.pdf · Eine kurze Einf uhrung in Python Stefan Meggendorfer IWR,](https://reader030.vdocuments.pub/reader030/viewer/2022040311/5d5cba7388c993442b8b76ff/html5/thumbnails/58.jpg)
Funktionen 3
Ruckgabe mit returnRuckgabe der Fibonacci-Folge bis n
>>> def fib3(n):
... result = []
... a, b = 0, 1
... while a < n:
... result.append(a)
... a, b = b, a+b
... return result
...
Funktion aufrufen und einer Variablen zuweisen
>>> f100 = fib3(100)
Ergebnis ausgeben
>>> f100
[0, 1, 1, 2, 3, 5, 8, 13, 21, 34 , 55 , 89]
Stefan Meggendorfer Python Einfuhrung 34
![Page 59: Eine kurze Einführung in Python - simweb.iwr.uni ...simweb.iwr.uni-heidelberg.de/lehre/2019S-EinfNum/python_intro.pdf · Eine kurze Einf uhrung in Python Stefan Meggendorfer IWR,](https://reader030.vdocuments.pub/reader030/viewer/2022040311/5d5cba7388c993442b8b76ff/html5/thumbnails/59.jpg)
Funktionen 4
Mehrere Eingangs-Variablen mit Komma trennenBerechnung der Potenz xn
>>> def power(x, n):
... if n == 0:
... return 1
... y = x
... for i in range(n-1):
... y *= x
... return y
...
Funktion aufrufen
>>> x = power(2, 10)
Ergebnis ausgeben
>>> x
1024
Stefan Meggendorfer Python Einfuhrung 35
![Page 60: Eine kurze Einführung in Python - simweb.iwr.uni ...simweb.iwr.uni-heidelberg.de/lehre/2019S-EinfNum/python_intro.pdf · Eine kurze Einf uhrung in Python Stefan Meggendorfer IWR,](https://reader030.vdocuments.pub/reader030/viewer/2022040311/5d5cba7388c993442b8b76ff/html5/thumbnails/60.jpg)
Programme schreiben
“Aus Fehlern lernt man!!!”
Stefan Meggendorfer Python Einfuhrung 36
![Page 61: Eine kurze Einführung in Python - simweb.iwr.uni ...simweb.iwr.uni-heidelberg.de/lehre/2019S-EinfNum/python_intro.pdf · Eine kurze Einf uhrung in Python Stefan Meggendorfer IWR,](https://reader030.vdocuments.pub/reader030/viewer/2022040311/5d5cba7388c993442b8b76ff/html5/thumbnails/61.jpg)
Python-Skript1 Ein Programm schreiben und speichern (z.B. unter myprogram.py)
# Ausgabe einer Matrix (d.h. einer Liste von Listen)
def print_matrix(A):
for i in range(len(A)):
for j in range(len(A[i])):
print(A[i][j], end=’ ’)
if j == len(A)-1:
print()
M = [[1, 2, 3],
[4, 5, 6],
[7, 8, 9]]
print_matrix(M)
2 Ausfuhren im Terminal: python myprogram.py
3 Ausgabe:
1 2 3
4 5 6
7 8 9
Stefan Meggendorfer Python Einfuhrung 37
![Page 62: Eine kurze Einführung in Python - simweb.iwr.uni ...simweb.iwr.uni-heidelberg.de/lehre/2019S-EinfNum/python_intro.pdf · Eine kurze Einf uhrung in Python Stefan Meggendorfer IWR,](https://reader030.vdocuments.pub/reader030/viewer/2022040311/5d5cba7388c993442b8b76ff/html5/thumbnails/62.jpg)
Python-Skript
Ausfuhrbar machen von ProgrammenIn die ersten Zeilen der Datei skriptname.py schreibt man:
#!/ usr/bin/python3
# -*- coding: utf -8 -*-
Erste Zeile (Shebang): Pfad zum Python-Interpreter
Zweite Zeile: Verwendeter Zeichensatz in der Datei (utf-8 istStandard unter Linux).
Datei ausfuhrbar machen mit (im Terminal):
chmod +x skriptname.py
Aufrufen der Datei:
./skriptname.py oder pfad-zum-skript/skriptname.py
Stefan Meggendorfer Python Einfuhrung 38
![Page 63: Eine kurze Einführung in Python - simweb.iwr.uni ...simweb.iwr.uni-heidelberg.de/lehre/2019S-EinfNum/python_intro.pdf · Eine kurze Einf uhrung in Python Stefan Meggendorfer IWR,](https://reader030.vdocuments.pub/reader030/viewer/2022040311/5d5cba7388c993442b8b76ff/html5/thumbnails/63.jpg)
Modulare Programmierung
“Programme systematisch in logische Teilblocke aufspalten”
HilfsmittelEin Programm in einem anderen Programm aufrufen mit
from ... import ... as ...
Stefan Meggendorfer Python Einfuhrung 39
![Page 64: Eine kurze Einführung in Python - simweb.iwr.uni ...simweb.iwr.uni-heidelberg.de/lehre/2019S-EinfNum/python_intro.pdf · Eine kurze Einf uhrung in Python Stefan Meggendorfer IWR,](https://reader030.vdocuments.pub/reader030/viewer/2022040311/5d5cba7388c993442b8b76ff/html5/thumbnails/64.jpg)
Modulare Programmierung
Beispiel
Hilfsprogramm schreiben und unter mytools.py abspeichern
# Ausgabe einer Matrix (d.h. einer Liste von Listen)
def print_matrix(A):
for i in range(len(A)):
for j in range(len(A[i])):
print(A[i][j], end=’ ’)
if j == len(A)-1:
print()
Hauptprogramm schreiben und unter main.py abspeichern
from mytools import print_matrix as pm
A = [[1, 2, 3],
[4, 5, 6],
[7, 8, 9]]
pm(A)
Stefan Meggendorfer Python Einfuhrung 40
![Page 65: Eine kurze Einführung in Python - simweb.iwr.uni ...simweb.iwr.uni-heidelberg.de/lehre/2019S-EinfNum/python_intro.pdf · Eine kurze Einf uhrung in Python Stefan Meggendorfer IWR,](https://reader030.vdocuments.pub/reader030/viewer/2022040311/5d5cba7388c993442b8b76ff/html5/thumbnails/65.jpg)
Modulare Programmierung
Beispiel
Hilfsprogramm schreiben und unter mytools.py abspeichern
# Ausgabe einer Matrix (d.h. einer Liste von Listen)
def print_matrix(A):
for i in range(len(A)):
for j in range(len(A[i])):
print(A[i][j], end=’ ’)
if j == len(A)-1:
print()
Hauptprogramm schreiben und unter main.py abspeichern
from mytools import print_matrix as pm
A = [[1, 2, 3],
[4, 5, 6],
[7, 8, 9]]
pm(A)
Stefan Meggendorfer Python Einfuhrung 40
![Page 66: Eine kurze Einführung in Python - simweb.iwr.uni ...simweb.iwr.uni-heidelberg.de/lehre/2019S-EinfNum/python_intro.pdf · Eine kurze Einf uhrung in Python Stefan Meggendorfer IWR,](https://reader030.vdocuments.pub/reader030/viewer/2022040311/5d5cba7388c993442b8b76ff/html5/thumbnails/66.jpg)
Packages
“Machen das Leben einfacher...”
Stefan Meggendorfer Python Einfuhrung 41
![Page 67: Eine kurze Einführung in Python - simweb.iwr.uni ...simweb.iwr.uni-heidelberg.de/lehre/2019S-EinfNum/python_intro.pdf · Eine kurze Einf uhrung in Python Stefan Meggendorfer IWR,](https://reader030.vdocuments.pub/reader030/viewer/2022040311/5d5cba7388c993442b8b76ff/html5/thumbnails/67.jpg)
Math
Beschreibung“This module [...] provides access to the mathematical functions definedby the C standard.”
Einbinden von Math
import math
Dokumentation
>>> help(math)
https://docs.python.org/3/library/math.html
Stefan Meggendorfer Python Einfuhrung 42
![Page 68: Eine kurze Einführung in Python - simweb.iwr.uni ...simweb.iwr.uni-heidelberg.de/lehre/2019S-EinfNum/python_intro.pdf · Eine kurze Einf uhrung in Python Stefan Meggendorfer IWR,](https://reader030.vdocuments.pub/reader030/viewer/2022040311/5d5cba7388c993442b8b76ff/html5/thumbnails/68.jpg)
Math
KurzubersichtIm Package Math sind unter anderem folgende Funktionen programmiert:
fabs(x), factorial(x), fsum(iterable)
exp(x), log(x[, base]), sqrt(x)
cos(x), sin(x), tan(x)
isinf(x), isnan(x)
pi, e, inf, nan
BeispielBerechnung der Quadratwurzel von 2:
>>> import math
>>> math.sqrt(2.)
1.4142135623730951
Stefan Meggendorfer Python Einfuhrung 43
![Page 69: Eine kurze Einführung in Python - simweb.iwr.uni ...simweb.iwr.uni-heidelberg.de/lehre/2019S-EinfNum/python_intro.pdf · Eine kurze Einf uhrung in Python Stefan Meggendorfer IWR,](https://reader030.vdocuments.pub/reader030/viewer/2022040311/5d5cba7388c993442b8b76ff/html5/thumbnails/69.jpg)
NumPy
Beschreibung“NumPy is the fundamental package for scientific computing withPython. It contains among other things:
An array object of arbitrary homogeneous items
Fast mathematical operations over arrays
Linear Algebra, Fourier Transforms, Random Number Generation”
Einbinden von NumPy
import numpy as np
Dokumentation
>>> help(np)
https://www.numpy.org/devdocs/user/quickstart.html
Befehlssammlung: http://mathesaurus.sourceforge.net/
Stefan Meggendorfer Python Einfuhrung 44
![Page 70: Eine kurze Einführung in Python - simweb.iwr.uni ...simweb.iwr.uni-heidelberg.de/lehre/2019S-EinfNum/python_intro.pdf · Eine kurze Einf uhrung in Python Stefan Meggendorfer IWR,](https://reader030.vdocuments.pub/reader030/viewer/2022040311/5d5cba7388c993442b8b76ff/html5/thumbnails/70.jpg)
NumPy
Erzeugung von Matrizen
np.array(object, dtype=None):array vom Typ wie object, außer dtype ist gesetzt (z.B. auf intoder float)
Beispiel
>>> A = np.array([[1, 2, 3], [4, 5, 6]])
>>> A
array[[1, 2, 3],
[4, 5, 6]]
>>> print(A)
[[ 1 2 3]
[ 4 5 6]]
>>> B = np.array(A, dtype=float)
>>> B
array([[ 1., 2., 3.],
[ 4., 5., 6.]])
Stefan Meggendorfer Python Einfuhrung 45
![Page 71: Eine kurze Einführung in Python - simweb.iwr.uni ...simweb.iwr.uni-heidelberg.de/lehre/2019S-EinfNum/python_intro.pdf · Eine kurze Einf uhrung in Python Stefan Meggendorfer IWR,](https://reader030.vdocuments.pub/reader030/viewer/2022040311/5d5cba7388c993442b8b76ff/html5/thumbnails/71.jpg)
NumPy
Erzeugung spezieller Matrizen
np.zeros(shape, dtype=float): Null-array
np.ones(shape, dtype=float): array bestehend aus Einsen
np.eye(N, M=None, k=0, dtype=float): Einheits-array
Beispiel
>>> np.zeros(2)array([ 0., 0.])>>> np.zeros((2,3))array([[ 0., 0., 0.],
[ 0., 0., 0.]])>>> np.zeros(2, dtype=int)array([ 0, 0])
>>> np.eye(2, dtype=int)array([[1, 0],
[0, 1]])>>> # Verschiebung der Diagonalen... np.eye(3, k=-1)array([[ 0., 0., 0.],
[ 1., 0., 0.],[ 0., 1., 0.]])
Stefan Meggendorfer Python Einfuhrung 46
![Page 72: Eine kurze Einführung in Python - simweb.iwr.uni ...simweb.iwr.uni-heidelberg.de/lehre/2019S-EinfNum/python_intro.pdf · Eine kurze Einf uhrung in Python Stefan Meggendorfer IWR,](https://reader030.vdocuments.pub/reader030/viewer/2022040311/5d5cba7388c993442b8b76ff/html5/thumbnails/72.jpg)
NumPy
array Eigenschaften 1
array.ndim: Anzahl der Dimensionen des array (Matrix hat 2 Dim.)
array.shape: Dimensionen des array (z.B. fur Matrizen (n,m))
array.size: Gesamtanzahl aller Elemente des array
array.dtype: Elemente-Typ (z.B. numpy.int32, bool, ...)
Beispiel
>>> A = np.array([[1, 2, 3],
... [4, 5, 6]])
>>> A.ndim
2
>>> A.shape
(2, 3)
>>> A.size
6
Stefan Meggendorfer Python Einfuhrung 47
![Page 73: Eine kurze Einführung in Python - simweb.iwr.uni ...simweb.iwr.uni-heidelberg.de/lehre/2019S-EinfNum/python_intro.pdf · Eine kurze Einf uhrung in Python Stefan Meggendorfer IWR,](https://reader030.vdocuments.pub/reader030/viewer/2022040311/5d5cba7388c993442b8b76ff/html5/thumbnails/73.jpg)
NumPy
array Eigenschaften 2
array.sum(): Summe uber alle Elemente
array.sum(axis=0): Summe uber alle Spalten
array.sum(axis=1): Summe uber alle Reihen
array.max(axis=None): Maximum (Gebrauch wie sum())
array.min(axis=None): Minimum (Gebrauch wie sum())
array.trace(offset=0): Summe der Diagonalelemente
Beispiel
>>> A = np.array([[1, 2, 3],... [4, 5, 6]])>>> A.sum()21>>> A.sum(axis=0)array([5, 7, 9])>>> A.sum(axis=1)array([ 6, 15])
>>> A.max()6>>> A.min(axis=1)array([1, 4])>>> A.trace()6>>> A.trace(offset=1)8
Stefan Meggendorfer Python Einfuhrung 48
![Page 74: Eine kurze Einführung in Python - simweb.iwr.uni ...simweb.iwr.uni-heidelberg.de/lehre/2019S-EinfNum/python_intro.pdf · Eine kurze Einf uhrung in Python Stefan Meggendorfer IWR,](https://reader030.vdocuments.pub/reader030/viewer/2022040311/5d5cba7388c993442b8b76ff/html5/thumbnails/74.jpg)
NumPy
Arithmetische Operationen mit array
+ , - , * , / , ** : Elementweise Add., Subtr., Mult., Div., Potenz
< , <= , > , >= , == , != : Elementweise logische Vergleiche
np.sin(), np.exp(): Elem. Sinus, elem. Exponentialfunktion
Dimensionen zweier arrays muss gleich sein.
Beispiel
>>> A = np.array([[1, 2, 3],... [4, 5, 6]])>>> B = np.array([[2, 3, 0],... [1, 1, 0]])>>> A + Barray([[3, 5, 3],
[5, 6, 6]])>>> A * Barray([[2, 6, 0],
[4, 5, 0]])
>>> A < Barray([[ True , True , False],
[False , False , False]], dtype=bool)>>> np.sin(A)array([[ 0.90929743 , 0.14112001 , 0.],
[ 0.84147098 , 0.84147098 , 0.]])
Stefan Meggendorfer Python Einfuhrung 49
![Page 75: Eine kurze Einführung in Python - simweb.iwr.uni ...simweb.iwr.uni-heidelberg.de/lehre/2019S-EinfNum/python_intro.pdf · Eine kurze Einf uhrung in Python Stefan Meggendorfer IWR,](https://reader030.vdocuments.pub/reader030/viewer/2022040311/5d5cba7388c993442b8b76ff/html5/thumbnails/75.jpg)
NumPy
Matrix-Operationen mit array
A.T: Transponierte von A
A.dot(B): Matrix Produkt von A und B. Ab Python ≥ 3.5 auchA @ B
Beispiel
>>> A = np.array([[1, 2, 3],
... [4, 5, 6]])
>>> B = np.array([[2, 3, 0],
... [1, 1, 0]])
>>> A.T
array([[1, 4],
[2, 5],
[3, 6]])
>>> A.dot(B.T)
array([[ 8, 3],
[23 , 9]])
>>> A.T.dot(B)
array([[ 6, 7, 0],
[ 9, 11, 0],
[12 , 15 , 0]])
Stefan Meggendorfer Python Einfuhrung 50
![Page 76: Eine kurze Einführung in Python - simweb.iwr.uni ...simweb.iwr.uni-heidelberg.de/lehre/2019S-EinfNum/python_intro.pdf · Eine kurze Einf uhrung in Python Stefan Meggendorfer IWR,](https://reader030.vdocuments.pub/reader030/viewer/2022040311/5d5cba7388c993442b8b76ff/html5/thumbnails/76.jpg)
NumPy
Lineare Algebra: np.linalg
linalg.solve(A,b): Lose das LGS Ax = b nach x
linalg.det(A): Determinante von A
linalg.matrix_rank(A): Rang von A
linalg.inv(A): Inverse von A
linalg.svd(A): Singularwertzerlegung von A
linalg.eig(A)[0]: Eigenwerte von A
linalg.eig(A)[1]: Eigenvektoren von A (normalisiert)
Beispiel
>>> A = np.array([[2, 0],... [0, 4]])>>> b = np.array([2, 2])>>> x = np.linalg.solve(A,b)>>> xarray([ 1. , 0.5])
>>> np.linalg.det(A)7.9999999999999982>>> np.linalg.eig(A)[0]array([ 2., 4.])>>> np.linalg.eig(A)[1]array([[ 1., 0.],
[ 0., 1.]])
Stefan Meggendorfer Python Einfuhrung 51
![Page 77: Eine kurze Einführung in Python - simweb.iwr.uni ...simweb.iwr.uni-heidelberg.de/lehre/2019S-EinfNum/python_intro.pdf · Eine kurze Einf uhrung in Python Stefan Meggendorfer IWR,](https://reader030.vdocuments.pub/reader030/viewer/2022040311/5d5cba7388c993442b8b76ff/html5/thumbnails/77.jpg)
NumPy
eindimensionale arrays
arange(start=0, stop, step=1, dtype=None):
Glm. verteilte Werte im halboffenen Intervall [start, stop) zur
Schrittweite step. (step sollte ganze Zahl sein, sonst besser linspace()).
linspace(start, stop, num=50, endpoint=True, dtype=
None):
Insgesamt “num” glm. verteilte Werte im abgeschlossenen Intervall
[start, stop]. Wenn endpoint=False, liegen Werte im halboffenen
Intervall [start, stop).
Beispiel
>>> np.arange(5)array([0, 1, 2, 3, 4])>>> np.arange(2, 50 , step=8)array([ 2, 10, 18, 26, 34 , 42])>>> np.arange(10 , 0, step=-2)array([10 , 8, 6, 4, 2])
>>> np.linspace(0, 1, num=5)array([ 0., 0.25 , 0.5, 0.75 , 1.])>>> np.linspace(1, 0, num=4,... endpoint=False)array([ 1., 0.75 , 0.5, 0.25])
Stefan Meggendorfer Python Einfuhrung 52
![Page 78: Eine kurze Einführung in Python - simweb.iwr.uni ...simweb.iwr.uni-heidelberg.de/lehre/2019S-EinfNum/python_intro.pdf · Eine kurze Einf uhrung in Python Stefan Meggendorfer IWR,](https://reader030.vdocuments.pub/reader030/viewer/2022040311/5d5cba7388c993442b8b76ff/html5/thumbnails/78.jpg)
SciPy
BeschreibungEnthalt Programme zu:
Konstanten, Integration, Optimierung, Interpolation, FourierTransformation, Lineare Algebra, Statistik, gewohnlicheDifferentialgleichungen, ...
Einbinden von SciPy-Subpackages
from scipy import constants , linalg , interpolate
Dokumentation
https://www.scipy.org/
https://docs.scipy.org/doc/scipy/reference/
Stefan Meggendorfer Python Einfuhrung 53
![Page 79: Eine kurze Einführung in Python - simweb.iwr.uni ...simweb.iwr.uni-heidelberg.de/lehre/2019S-EinfNum/python_intro.pdf · Eine kurze Einf uhrung in Python Stefan Meggendorfer IWR,](https://reader030.vdocuments.pub/reader030/viewer/2022040311/5d5cba7388c993442b8b76ff/html5/thumbnails/79.jpg)
matplotlib
BeschreibungPackage zur Visualisierung von Funktionen, Daten, Statistiken, ...
Einbinden von matplotlib
import matplotlib.pyplot as plt
Dokumentation
https://matplotlib.org/
https://matplotlib.org/tutorials/index.html
Stefan Meggendorfer Python Einfuhrung 54
![Page 80: Eine kurze Einführung in Python - simweb.iwr.uni ...simweb.iwr.uni-heidelberg.de/lehre/2019S-EinfNum/python_intro.pdf · Eine kurze Einf uhrung in Python Stefan Meggendorfer IWR,](https://reader030.vdocuments.pub/reader030/viewer/2022040311/5d5cba7388c993442b8b76ff/html5/thumbnails/80.jpg)
matplotlib
Einen Plot erstellen
import numpy as npimport matplotlib.pyplot as plt
x = np.linspace(0, 2, 100)y1 , y2 , y3 = x, x**2, x**3
# Figure erstellenplt.figure ()
# Plots erstellenplt.plot(x, y1 , label=’linear ’)plt.plot(x, y2 , label=’quadratisch ’)plt.plot(x, y3 , label=’kubisch ’)
# Labels fuer x- und y-Achseplt.xlabel(’x-Achse’)plt.ylabel(’y-Achse’)
# Titel , Legende , Gridplt.title(’Polynome ’)plt.legend ()plt.grid()
# Plot anzeigenplt.show()
Stefan Meggendorfer Python Einfuhrung 55
![Page 81: Eine kurze Einführung in Python - simweb.iwr.uni ...simweb.iwr.uni-heidelberg.de/lehre/2019S-EinfNum/python_intro.pdf · Eine kurze Einf uhrung in Python Stefan Meggendorfer IWR,](https://reader030.vdocuments.pub/reader030/viewer/2022040311/5d5cba7388c993442b8b76ff/html5/thumbnails/81.jpg)
matplotlib
Subplots und logarithmische Plots
import numpy as npimport matplotlib.pyplot as plt
x = np.linspace(0, 6, 100)y1 , y2 = x**2, x**3
# Figure mit subplots erstellenfig , ax = plt.subplots(2, 1)
# Subplot oben# logarithmisch in x und yax[0].loglog(x, y1)ax[0].grid()
# Subplot unten# logarithmisch in yax[1].semilogy(x, y2)ax[1].grid()
# Plot anzeigenplt.show()
Stefan Meggendorfer Python Einfuhrung 56
![Page 82: Eine kurze Einführung in Python - simweb.iwr.uni ...simweb.iwr.uni-heidelberg.de/lehre/2019S-EinfNum/python_intro.pdf · Eine kurze Einf uhrung in Python Stefan Meggendorfer IWR,](https://reader030.vdocuments.pub/reader030/viewer/2022040311/5d5cba7388c993442b8b76ff/html5/thumbnails/82.jpg)
matplotlib
Farben und Linien-Stil
import numpy as npimport matplotlib.pyplot as plt
Pi = np.pix = np.linspace(0, 2*Pi, 100)y = np.sin(x)
# Max und Min von sin(x)xmaxmin = [Pi/2., 1.5*Pi]ymaxmin = [ 1. , -1. ]
plt.figure ()
# Farbe und Style festlegen# ’k’ schwarz , ’r’ rot# ’--’ dashed , ’o’ Kreiseplt.plot(x, y, ’k--’, label=’sin(x)’)plt.plot(xmaxmin , ymaxmin , ’ro’,
label=’MaxMin ’)
# Achsen -Limits festlegenplt.axis([0, 2*Pi, -1.2, 1.2])
plt.legend ()plt.show()
Stefan Meggendorfer Python Einfuhrung 57
![Page 83: Eine kurze Einführung in Python - simweb.iwr.uni ...simweb.iwr.uni-heidelberg.de/lehre/2019S-EinfNum/python_intro.pdf · Eine kurze Einf uhrung in Python Stefan Meggendorfer IWR,](https://reader030.vdocuments.pub/reader030/viewer/2022040311/5d5cba7388c993442b8b76ff/html5/thumbnails/83.jpg)
Drehort von Monty Python’s: The Life of Brian (1979).
GIRAUD Patrick (https://commons.wikimedia.org/wiki/File:TUNISIE MONASTIR RIBAT 03.jpg),”TUNISIE MONASTIR RIBAT 03“,
https://creativecommons.org/licenses/by-sa/2.5/legalcode
Stefan Meggendorfer Python Einfuhrung 58