Python - Programmierung · Programmiersprache Python Seite 3 Geschichte Anfang 1990er Jahre von...

81
Anja Aue | 22.02.2018 Python Einführung in die prozedurale Programmierung Monty Python's Flying Circus

Transcript of Python - Programmierung · Programmiersprache Python Seite 3 Geschichte Anfang 1990er Jahre von...

Page 1: Python - Programmierung · Programmiersprache Python Seite 3 Geschichte Anfang 1990er Jahre von Guido von Rossum am Centrum voor Wiskunde en Informatica entwickelt. Benennung nach

Anja Aue | 22.02.2018

Python Einführung in die prozedurale Programmierung

Monty Python's Flying Circus

Page 2: Python - Programmierung · Programmiersprache Python Seite 3 Geschichte Anfang 1990er Jahre von Guido von Rossum am Centrum voor Wiskunde en Informatica entwickelt. Benennung nach

Programmiersprache Python Seite 2

Python

Objektorientierte Programmiersprache. Klare, einfache Syntax. Strukturierte Programmierung. Interpretative Sprache. Plattformunabhängig. Download unter https://www.python.org/

Page 3: Python - Programmierung · Programmiersprache Python Seite 3 Geschichte Anfang 1990er Jahre von Guido von Rossum am Centrum voor Wiskunde en Informatica entwickelt. Benennung nach

Programmiersprache Python Seite 3

Geschichte

Anfang 1990er Jahre von Guido von Rossum am Centrum voor Wiskunde en Informatica entwickelt.

Benennung nach der britischen Comedy-Gruppe Monty Python.

Page 4: Python - Programmierung · Programmiersprache Python Seite 3 Geschichte Anfang 1990er Jahre von Guido von Rossum am Centrum voor Wiskunde en Informatica entwickelt. Benennung nach

Programmiersprache Python Seite 4

Versionszweig 2.x

Python 2.7. ist in diesem Zweig die letzte Version. Lebensende 2020. Nur noch Bugfixes. Nutzung: Projekte, die in einer alten Version geschrieben

sind. Verwendung von Paketen, die nicht mit Version 3.x kompatibel sind.

Page 5: Python - Programmierung · Programmiersprache Python Seite 3 Geschichte Anfang 1990er Jahre von Guido von Rossum am Centrum voor Wiskunde en Informatica entwickelt. Benennung nach

Programmiersprache Python Seite 5

Versionszweig 3.x

Beginn mit Python 3.0 ab dem 3. Dezember 2008. Aktuelle Version 3.6.

Keine Kompatibilität zu Versionszweig 2.x Informationen zur Portierung von Version 2.x nach 3.x:

https://docs.python.org/3/howto/pyporting.html

Page 6: Python - Programmierung · Programmiersprache Python Seite 3 Geschichte Anfang 1990er Jahre von Guido von Rossum am Centrum voor Wiskunde en Informatica entwickelt. Benennung nach

Programmiersprache Python Seite 6

Einsatzmöglichkeiten

Web-Programmierung (CGI, Django, TurboGears, Zope...). Textverarbeitung. GUIs / Dialogfenster entwickeln (Tkinter, …). Prototypen-Erstellung für Machbarkeitsstudien. Nutzung als eingebettete Skriptsprache. Siehe http://www.python.org/about/success/.

Page 7: Python - Programmierung · Programmiersprache Python Seite 3 Geschichte Anfang 1990er Jahre von Guido von Rossum am Centrum voor Wiskunde en Informatica entwickelt. Benennung nach

Programmiersprache Python Seite 7

Literatur

Michael Weigend: Python 3. Lernen und professionell anwenden. mitp

Johannes Ernesti & Peter Kaiser: Python 3: Das umfassende Handbuch. Rheinwerk

Bernd Klein: Einführung in Python 3. Hanser Arnold Willemer: Python. Der Sprachkurs für Einsteiger und

Individualisten. Hans-Bernhard Woyand: Python für Ingenieure und

Naturwissenschaftler

Page 8: Python - Programmierung · Programmiersprache Python Seite 3 Geschichte Anfang 1990er Jahre von Guido von Rossum am Centrum voor Wiskunde en Informatica entwickelt. Benennung nach

Programmiersprache Python Seite 8

Hinweise zu Tutorials etc. im Web

https://wiki.python.org/moin/BeginnersGuide/Programmers http://openbookproject.net/thinkcs/python/english3e/

Page 9: Python - Programmierung · Programmiersprache Python Seite 3 Geschichte Anfang 1990er Jahre von Guido von Rossum am Centrum voor Wiskunde en Informatica entwickelt. Benennung nach

Programmiersprache Python Seite 9

Deutschsprachige Tutorials im Web

http://www.python-kurs.eu/kurs.php https://py-tutorial-de.readthedocs.io/de/python-3.3/ https://media.readthedocs.org/pdf/py-tutorial-de/

python-3.3/py-tutorial-de.pdf https://cscircles.cemc.uwaterloo.ca/using-website-de/

Page 10: Python - Programmierung · Programmiersprache Python Seite 3 Geschichte Anfang 1990er Jahre von Guido von Rossum am Centrum voor Wiskunde en Informatica entwickelt. Benennung nach

Programmiersprache Python Seite 10

Programmierung spielerisch lernen

http://www.swisseduc.ch/informatik/karatojava/pythonkara/ https://wiki.scratch.mit.edu/wiki/Scratch_Wiki_Home https://turtleacademy.com/

Page 11: Python - Programmierung · Programmiersprache Python Seite 3 Geschichte Anfang 1990er Jahre von Guido von Rossum am Centrum voor Wiskunde en Informatica entwickelt. Benennung nach

Programmiersprache Python Seite 11

Entwicklungsumgebungen

Integrierte Entwicklungsumgebung in Python: IDLE. Weitere IDEs siehe https://wiki.python.org/moin/

%20IntegratedDevelopmentEnvironments. Spyder (https://pypi.org/project/spyder/) wird häufig bei

wissenschaftlichen mathematischen Berechnung genutzt. Portable Version für das Betriebssystem Windows:

https://winpython.github.io/

Page 12: Python - Programmierung · Programmiersprache Python Seite 3 Geschichte Anfang 1990er Jahre von Guido von Rossum am Centrum voor Wiskunde en Informatica entwickelt. Benennung nach

Programmiersprache Python Seite 12

IDLE

Integrated Development Enviroment. Einfache Entwicklungsumgebung für Python. Texteditor und Shell zur Eingabe von Programmierbefehlen. Automatische Installation mit der Programmiersprache

Python. Informationen zu der IDE:

https://docs.python.org/3/library/idle.html.

Page 13: Python - Programmierung · Programmiersprache Python Seite 3 Geschichte Anfang 1990er Jahre von Guido von Rossum am Centrum voor Wiskunde en Informatica entwickelt. Benennung nach

Programmiersprache Python Seite 13

… unter Windows öffnen

Icon auf dem Desktop. Windows 8 und höher: Suchen ... Doppelklick auf ...\Python\Python[version]\Lib\idlelib\idle.pyw

im Windows Explorer.

Page 14: Python - Programmierung · Programmiersprache Python Seite 3 Geschichte Anfang 1990er Jahre von Guido von Rossum am Centrum voor Wiskunde en Informatica entwickelt. Benennung nach

Programmiersprache Python Seite 14

Python-Shell

Kommandozeilenorientiert. Zeilenweise werden Anweisungen in einer Programmiersprache eingegeben.

Jede Eingabezeile wird mit einem Prompt gekennzeichnet. In der Shell werden die Zeilen folgendermaßen gekennzeichnet: >>>.

Befehle oder Anweisungen, die der Nutzer in die Shell eingibt, können so interpretiert werden, dass ein Computer sie ausführen kann.

Page 15: Python - Programmierung · Programmiersprache Python Seite 3 Geschichte Anfang 1990er Jahre von Guido von Rossum am Centrum voor Wiskunde en Informatica entwickelt. Benennung nach

Programmiersprache Python Seite 15

… nach dem Öffnen

Page 16: Python - Programmierung · Programmiersprache Python Seite 3 Geschichte Anfang 1990er Jahre von Guido von Rossum am Centrum voor Wiskunde en Informatica entwickelt. Benennung nach

Programmiersprache Python Seite 16

Aufbau

Shell

Menüleiste

Titelleiste

Page 17: Python - Programmierung · Programmiersprache Python Seite 3 Geschichte Anfang 1990er Jahre von Guido von Rossum am Centrum voor Wiskunde en Informatica entwickelt. Benennung nach

Programmiersprache Python Seite 17

Titelleiste

Das Systemmenü wird am linken Rand angezeigt. Die Schaltflächen zum Minimieren, Maximieren und Schließen

von IDLE werden am rechten Rand angezeigt. Mittig wird die Python-Version eingeblendet.

Page 18: Python - Programmierung · Programmiersprache Python Seite 3 Geschichte Anfang 1990er Jahre von Guido von Rossum am Centrum voor Wiskunde en Informatica entwickelt. Benennung nach

Programmiersprache Python Seite 18

Menüleiste

File. Alle Befehle zum Öffnen und Speichern von Dateien. Edit. Befehle zum Bearbeiten von Code. Shell startet die Arbeitsfläche neu. Debug. Fehlersuche im Programm. Options. Konfiguration von IDLE. Window. Help.

Page 19: Python - Programmierung · Programmiersprache Python Seite 3 Geschichte Anfang 1990er Jahre von Guido von Rossum am Centrum voor Wiskunde en Informatica entwickelt. Benennung nach

Programmiersprache Python Seite 19

Informationen in der Shell

Anzeige der aktuell installierten Python-Version. Informationen in Abhängigkeit des Betriebssystems.

Page 20: Python - Programmierung · Programmiersprache Python Seite 3 Geschichte Anfang 1990er Jahre von Guido von Rossum am Centrum voor Wiskunde en Informatica entwickelt. Benennung nach

Programmiersprache Python Seite 20

Prompt

Am Beginn einer Zeile >>>. Wenn die Einfügemarke direkt im Anschluss daran blinkt,

kann dort eine Anweisung eingegeben werden.

Page 21: Python - Programmierung · Programmiersprache Python Seite 3 Geschichte Anfang 1990er Jahre von Guido von Rossum am Centrum voor Wiskunde en Informatica entwickelt. Benennung nach

Programmiersprache Python Seite 21

Eingabe der Anweisung

Page 22: Python - Programmierung · Programmiersprache Python Seite 3 Geschichte Anfang 1990er Jahre von Guido von Rossum am Centrum voor Wiskunde en Informatica entwickelt. Benennung nach

Programmiersprache Python Seite 22

… in der Shell

An der Position der Einfügemarke (hinter dem Prompt) wird die Anweisung print('Guten Tag') eingeben.

Die Anweisung wird mit der Eingabetaste (<Return>) abgeschlossen. Sobald die Anweisung abgeschlossen ist, kann diese nicht verändert werden.

>>> print('Guten Tag')Guten Tag>>>

Page 23: Python - Programmierung · Programmiersprache Python Seite 3 Geschichte Anfang 1990er Jahre von Guido von Rossum am Centrum voor Wiskunde en Informatica entwickelt. Benennung nach

Programmiersprache Python Seite 23

Anweisungen

Befehle (Kommandos) für den Computer in einer bestimmten Programmiersprache.

Handlungsanweisungen werden mit Hilfe einer bestimmten Syntax beschrieben. Die Syntax wird mit Hilfe der gewählten Programmiersprache festgelegt.

In der Regel wird eine Anweisung pro Zeile ausgeführt.

Page 24: Python - Programmierung · Programmiersprache Python Seite 3 Geschichte Anfang 1990er Jahre von Guido von Rossum am Centrum voor Wiskunde en Informatica entwickelt. Benennung nach

Programmiersprache Python Seite 24

… in der Shell ausführen

Nach Drücken der Eingabetaste wird die Anweisung entsprechend der Syntax interpretiert. Der Befehl wird ausgeführt.

Anweisungen können Werte berechnen oder Informationen ausgeben. Der berechnete Wert oder Ausgabe werden in der nächsten Zeile in der Shell angezeigt.

Page 25: Python - Programmierung · Programmiersprache Python Seite 3 Geschichte Anfang 1990er Jahre von Guido von Rossum am Centrum voor Wiskunde en Informatica entwickelt. Benennung nach

Programmiersprache Python Seite 25

Vorheriger und nächster Befehl in der Shell

ALT+P zeigt den vorherigen Befehl in der History-Liste an. ALT+N zeigt den nächsten Befehl in der History-Liste an. Hinweis: Mit Hilfe von Options – Configure IDLE,

Registerkarte Keys können die Tastenkombinationen angepasst werden.

Page 26: Python - Programmierung · Programmiersprache Python Seite 3 Geschichte Anfang 1990er Jahre von Guido von Rossum am Centrum voor Wiskunde en Informatica entwickelt. Benennung nach

Programmiersprache Python Seite 26

Beendigung der Shell

Die Warnmeldung Kill? wird durch Klicken auf die Schaltfläche OK bestätigt.

Das laufende Programm wird beendet. Die Shell wird geschlossen.

>>> exit()

Page 27: Python - Programmierung · Programmiersprache Python Seite 3 Geschichte Anfang 1990er Jahre von Guido von Rossum am Centrum voor Wiskunde en Informatica entwickelt. Benennung nach

Programmiersprache Python Seite 27

Schlüsselwörter

Wörter mit einer besonderen Bedeutung in Abhängigkeit der Programmiersprache.

Reservierte Wörter in einer Programmiersprache. Wörter, die in der Shell standardmäßig mit der Farbe „orange“

markiert werden.

Page 28: Python - Programmierung · Programmiersprache Python Seite 3 Geschichte Anfang 1990er Jahre von Guido von Rossum am Centrum voor Wiskunde en Informatica entwickelt. Benennung nach

Programmiersprache Python Seite 28

… in Python

and except lambda while

as False None with

assert finally nonlocal yield

break for not

class from or

continue global pass

def if raise

del import return

elif in True

else is try

Page 29: Python - Programmierung · Programmiersprache Python Seite 3 Geschichte Anfang 1990er Jahre von Guido von Rossum am Centrum voor Wiskunde en Informatica entwickelt. Benennung nach

Programmiersprache Python Seite 29

… in der Shell anzeigen

>>> help()

help> keywordshelp> quit>>>

Page 30: Python - Programmierung · Programmiersprache Python Seite 3 Geschichte Anfang 1990er Jahre von Guido von Rossum am Centrum voor Wiskunde en Informatica entwickelt. Benennung nach

Programmiersprache Python Seite 30

Öffnen und Schließen der Hilfe

Page 31: Python - Programmierung · Programmiersprache Python Seite 3 Geschichte Anfang 1990er Jahre von Guido von Rossum am Centrum voor Wiskunde en Informatica entwickelt. Benennung nach

Programmiersprache Python Seite 31

Erläuterung

help() öffnet die Hilfe zu der Programmiersprache Python. Die runden Klammern müssen dem Wort help folgen. Der Prompt wird folgendermaßen angezeigt: help>.

quit schließt die Hilfe. Der Prompt >>> wird angezeigt.

Page 32: Python - Programmierung · Programmiersprache Python Seite 3 Geschichte Anfang 1990er Jahre von Guido von Rossum am Centrum voor Wiskunde en Informatica entwickelt. Benennung nach

Programmiersprache Python Seite 32

Befehle in der Hilfe

keywords zeigt alle Schlüsselwörter von Python an. 'print' zeigt zu, der in Python definierten Funktion print

Informationen an. Der Name der Funktion wird durch das Apostroph begrenzt.

help(print) zeigt zu, der in Python definierten Funktion print Informationen an. In den runden Klammern kann der Name jeder in Python definierten Funktion genutzt werden. Dieser Befehl kann außerhalb der geöffneten Hilfe genutzt werden.

Page 33: Python - Programmierung · Programmiersprache Python Seite 3 Geschichte Anfang 1990er Jahre von Guido von Rossum am Centrum voor Wiskunde en Informatica entwickelt. Benennung nach

Programmiersprache Python Seite 33

Operanden

Variablen sind Platzhalter für einen beliebigen Wert. Der Name ist eindeutig. Beispiel: zahl, wert, buchstabe, zeichen.

Zahlen können direkt in die Shell eingegeben werden. Einzelne Buchstaben oder Zeichenfolgen können durch das Apostroph das Anführungszeichen begrenzt werden. Direkt eingegebene Zahlen und Buchstaben werden als Literale bezeichnet.

>>> zahl = 0>>> wert = 2.5 + 3>>> buchstabe = 'A'>>> zeichen = "ABC">>> 6 / 32

Page 34: Python - Programmierung · Programmiersprache Python Seite 3 Geschichte Anfang 1990er Jahre von Guido von Rossum am Centrum voor Wiskunde en Informatica entwickelt. Benennung nach

Programmiersprache Python Seite 34

Operatoren

Verarbeitungsvorschriften für Operanden. Zuweisung an eine Variable. Das Gleichheitszeichen weist

zum Beispiel der Variablen zahl den Wert 0 zu. Der zu zuweisende Wert kann berechnet werden.

Arithmetische Operatoren berechnen einen Wert aus ein oder zwei Operanden. Die Shell kann wie ein Taschenrechner genutzt werden. Der berechnete Wert wird sofort angezeigt.

>>> zahl = 0>>> wert = 2.5 + 3>>> buchstabe = 'A'>>> zeichen = "ABC">>> 6 / 32

Page 35: Python - Programmierung · Programmiersprache Python Seite 3 Geschichte Anfang 1990er Jahre von Guido von Rossum am Centrum voor Wiskunde en Informatica entwickelt. Benennung nach

Programmiersprache Python Seite 35

Funktionen

Zusammenfassung von Anweisungen zu einer bestimmten Aufgabe.

Die Funktion print() fasst Anweisungen zur Ausgabe eines Wertes oder Zeichenfolge in der Shell zusammen.

In den runden Klammern kann einer Funktion „Startwerte“ übergeben werden.

>>> print('Guten Tag')Guten Tag>>>

Page 36: Python - Programmierung · Programmiersprache Python Seite 3 Geschichte Anfang 1990er Jahre von Guido von Rossum am Centrum voor Wiskunde en Informatica entwickelt. Benennung nach

Programmiersprache Python Seite 36

Arbeitsweise

Funktionen entsprechen einer Fertigungsstraße in einer Fabrikhalle.

Der Betrachter von außen sieht das Material, welches verarbeitet werden soll. In diesem Beispiel die Variable zahl.

Der Betrachter sieht am Ende das fertige Werkstück. In diesem Beispiel die Ausgabe von 5.

Aber die einzelnen Fertigungsschritte sieht der Betrachter von außen nicht. Die Fertigungsschritte sind nur Eingeweihten bekannt.

print

5

zahl

Page 37: Python - Programmierung · Programmiersprache Python Seite 3 Geschichte Anfang 1990er Jahre von Guido von Rossum am Centrum voor Wiskunde en Informatica entwickelt. Benennung nach

Programmiersprache Python Seite 37

… definieren

In Python eingebettete Funktionen sind im Sprachkern definiert (https://docs.python.org/3/library/functions.html).

Die Funktionalität von Python kann mit Hilfe von Modulen erweitert werden. Module werden in Bibliotheken zusammengefasst. Der Aufruf der, in diesen Modulen, definierten Funktionen ist bekannt.

Eigene Funktionen. Der Entwickler fasst Anweisungen für eine bestimmte Aufgabe zusammen.

>>> print('Guten Tag')Guten Tag>>>

Page 38: Python - Programmierung · Programmiersprache Python Seite 3 Geschichte Anfang 1990er Jahre von Guido von Rossum am Centrum voor Wiskunde en Informatica entwickelt. Benennung nach

Programmiersprache Python Seite 38

Funktionsnamen

Der Name identifiziert eindeutig eine Fertigungsstraße. Funktionsnamen beachten die Groß- und Kleinschreibung.

Das Wort Print bezeichnet eine andere Fertigungsstraße als die Bezeichnung print.

Durch Aufruf des Namens wird die Fertigung gestartet. Falls das gefertigte Werkstück ausgeliefert wird, wird dieses in der nächsten Zeile angezeigt. In diesem Beispiel wird „Guten Tag“ ausgegeben.

>>> print('Guten Tag')Guten Tag>>>

Page 39: Python - Programmierung · Programmiersprache Python Seite 3 Geschichte Anfang 1990er Jahre von Guido von Rossum am Centrum voor Wiskunde en Informatica entwickelt. Benennung nach

Programmiersprache Python Seite 39

Argumente

Die runden Klammern, direkt am Anschluss des Funktionsnamen, enthalten eine Liste von x Argumenten.

Das, beim Start der Fertigung benötigte Material wird bereitgestellt. Das benötigte Material ist abhängig von der Fertigung. Manchmal wird kein Material benötigt.

In diesem Beispiel wird die Zeichenfolge, die ausgegeben werden soll, übergeben.

>>> print('Guten Tag')Guten Tag>>>

Page 40: Python - Programmierung · Programmiersprache Python Seite 3 Geschichte Anfang 1990er Jahre von Guido von Rossum am Centrum voor Wiskunde en Informatica entwickelt. Benennung nach

Programmiersprache Python Seite 40

Rückgabewert

Am Ende der Fertigungsstraße wird ein Werkstück zurückgegeben.

Funktionen geben immer nur ein Werkstück zurück. In diesem Beispiel wird die Zeichenfolge „Guten Tag“ in der

nächsten Zeile ausgegeben.

>>> print('Guten Tag')Guten Tag>>>

Page 41: Python - Programmierung · Programmiersprache Python Seite 3 Geschichte Anfang 1990er Jahre von Guido von Rossum am Centrum voor Wiskunde en Informatica entwickelt. Benennung nach

Programmiersprache Python Seite 41

Hilfe zu Funktionen

Dem Befehl help() kann in den runden Klammern der Name einer Funktion übergeben werden.

Die Informationen zu der genannten Funktion werden direkt in der Shell angezeigt.

>>> help(print)Help on built-in function print in module builtins:

Print(…)>>>

Page 42: Python - Programmierung · Programmiersprache Python Seite 3 Geschichte Anfang 1990er Jahre von Guido von Rossum am Centrum voor Wiskunde en Informatica entwickelt. Benennung nach

Programmiersprache Python Seite 42

Zeichenfolgen (Strings)

Kombination von Buchstaben, Zahlen, Sonderzeichen. Folge von Zeichen, die mit der Tastatur eingegeben werden. Sonderzeichen wie „Zeilenumbruch“ werden mit Hilfe des

Backslash maskiert.

>>> buchstabe = 'A'>>> zeichen = "ABC">>> zeilen = '1. Zeile \n 2. Zeile'>>> print(zeilen)1. Zeile 2. Zeile

Page 43: Python - Programmierung · Programmiersprache Python Seite 3 Geschichte Anfang 1990er Jahre von Guido von Rossum am Centrum voor Wiskunde en Informatica entwickelt. Benennung nach

Programmiersprache Python Seite 43

… in Python begrenzen

Beginn und Ende mit dem Apostroph. In der Zeichenfolge darf kein Apostroph vorkommen.

Beginn und Ende mit dem Anführungszeichen. In der Zeichenfolge darf kein Anführungszeichen vorkommen.

>>> buchstabe = 'A'>>> zeichen = "ABC">>> zeilen = '1. Zeile \n 2. Zeile'>>> print(zeilen)1. Zeile 2. Zeile

Page 44: Python - Programmierung · Programmiersprache Python Seite 3 Geschichte Anfang 1990er Jahre von Guido von Rossum am Centrum voor Wiskunde en Informatica entwickelt. Benennung nach

Programmiersprache Python Seite 44

Zeilenumbruch

Das Zeichen „\n“ kennzeichnet einen Zeilenumbruch. Durch die Ausgabe der Zeichenfolge mit Hilfe der Funktion

print() wird ein Zeilenumbruch in der Shell angezeigt.

>>> buchstabe = 'A'>>> zeichen = "ABC">>> zeilen = '1. Zeile \n 2. Zeile'>>> print(zeilen)1. Zeile 2. Zeile

Page 45: Python - Programmierung · Programmiersprache Python Seite 3 Geschichte Anfang 1990er Jahre von Guido von Rossum am Centrum voor Wiskunde en Informatica entwickelt. Benennung nach

Programmiersprache Python Seite 45

Anzeige von Syntaxfehlern

Nach dem Drücken der Eingabetaste werden Syntaxfehler direkt in roter Schrift angezeigt.

In diesem Beispiel wird der Fehler EOL while scanning string literal angezeigt. Falls eine Zeichenfolge nicht korrekt mit einem Anführungszeichen oder Apostroph abgeschlossen ist, wird dieser Fehler angezeigt.

Page 46: Python - Programmierung · Programmiersprache Python Seite 3 Geschichte Anfang 1990er Jahre von Guido von Rossum am Centrum voor Wiskunde en Informatica entwickelt. Benennung nach

Programmiersprache Python Seite 46

Code-Dateien

Page 47: Python - Programmierung · Programmiersprache Python Seite 3 Geschichte Anfang 1990er Jahre von Guido von Rossum am Centrum voor Wiskunde en Informatica entwickelt. Benennung nach

Programmiersprache Python Seite 47

… in Python

Logische Zusammenfassung von Anweisungen in Modulen. Speicherung von Befehlen. Dateien mit der Endung „.py“ oder „.pyw“.

Page 48: Python - Programmierung · Programmiersprache Python Seite 3 Geschichte Anfang 1990er Jahre von Guido von Rossum am Centrum voor Wiskunde en Informatica entwickelt. Benennung nach

Programmiersprache Python Seite 48

Dateiendung „.py“ oder „.pyw“

Dateien mit der Endung „.py“ werden als Konsolenprogramme bezeichnet. Diese Art von Dateien können über die Shell ausgeführt werden.

Dateien mit der Endung „.pyw“ werden bei der Programmierung einer grafischen Oberfläche genutzt. Die Programme öffnen ein Fenster, in dem das Programm läuft.

Page 49: Python - Programmierung · Programmiersprache Python Seite 3 Geschichte Anfang 1990er Jahre von Guido von Rossum am Centrum voor Wiskunde en Informatica entwickelt. Benennung nach

Programmiersprache Python Seite 49

Aufbau des Editors

Codefenster

Menüleiste

Titelleiste

Page 50: Python - Programmierung · Programmiersprache Python Seite 3 Geschichte Anfang 1990er Jahre von Guido von Rossum am Centrum voor Wiskunde en Informatica entwickelt. Benennung nach

Programmiersprache Python Seite 50

Titelleiste

Das Systemmenü wird am linken Rand angezeigt. Die Schaltflächen zum Minimieren, Maximieren und Schließen

werden am rechten Rand angezeigt. Mittig wird wird der Name und der Speicherort der geöffneten

Datei eingeblendet. Falls die Datei neu ist, wird „untitled“ angezeigt.

Page 51: Python - Programmierung · Programmiersprache Python Seite 3 Geschichte Anfang 1990er Jahre von Guido von Rossum am Centrum voor Wiskunde en Informatica entwickelt. Benennung nach

Programmiersprache Python Seite 51

Menüleiste

File. Alle Befehle zum Öffnen und Speichern von Dateien. Edit. Befehle zum Bearbeiten von Code. Format. Codeformatierung mit Hilfe von Einrückungen. Run. Starten des Programms. Options. Konfiguration von IDLE. Window. Help.

Page 52: Python - Programmierung · Programmiersprache Python Seite 3 Geschichte Anfang 1990er Jahre von Guido von Rossum am Centrum voor Wiskunde en Informatica entwickelt. Benennung nach

Programmiersprache Python Seite 52

Codefenster

Pro Zeile wird eine Anweisung angegeben. Beschreibung eine Aufgabe mit Hilfe von Python-Befehlen. Die Befehle in dem Codefenster werden in einer Datei

gespeichert.

Page 53: Python - Programmierung · Programmiersprache Python Seite 3 Geschichte Anfang 1990er Jahre von Guido von Rossum am Centrum voor Wiskunde en Informatica entwickelt. Benennung nach

Programmiersprache Python Seite 53

… neu anlegen und speichern

File – New File. Der Texteditor zur Eingabe des Programms öffnet sich.

File – Save As speichert den eingegebenen Code unter einem Dateinamen an einem bestimmten Ort auf dem Rechner.

File – Close schließt die Datei.

Page 54: Python - Programmierung · Programmiersprache Python Seite 3 Geschichte Anfang 1990er Jahre von Guido von Rossum am Centrum voor Wiskunde en Informatica entwickelt. Benennung nach

Programmiersprache Python Seite 54

… öffnen und Änderungen speichern

File – Open. Mit Hilfe des Dialogs Öffnen wird die gewünschte Datei ausgewählt.

File – Save speichert die Änderungen in der geöffneten Datei. File – Close schließt die Datei.

Page 55: Python - Programmierung · Programmiersprache Python Seite 3 Geschichte Anfang 1990er Jahre von Guido von Rossum am Centrum voor Wiskunde en Informatica entwickelt. Benennung nach

Programmiersprache Python Seite 55

Starten des Codes

Run – Run Module oder Taste <F5>. Die Datei wird zeilenweise von oben nach unten durchlaufen. Die Anweisungen werden interpretiert und ausgeführt.

Page 56: Python - Programmierung · Programmiersprache Python Seite 3 Geschichte Anfang 1990er Jahre von Guido von Rossum am Centrum voor Wiskunde en Informatica entwickelt. Benennung nach

Programmiersprache Python Seite 56

Architektur

Quellcode (*.py / *.pyw)

Interpreter

Texteditor / IDE

Bytecode (*.pyc)

Page 57: Python - Programmierung · Programmiersprache Python Seite 3 Geschichte Anfang 1990er Jahre von Guido von Rossum am Centrum voor Wiskunde en Informatica entwickelt. Benennung nach

Programmiersprache Python Seite 57

Interpreter

Der Code wird direkt ausgeführt. Zuerst wird der von Menschen lesbare Code automatisiert in

Byte-Code umgewandelt. Dieser von der Maschine lesbare Code wird direkt interpretiert.

Page 58: Python - Programmierung · Programmiersprache Python Seite 3 Geschichte Anfang 1990er Jahre von Guido von Rossum am Centrum voor Wiskunde en Informatica entwickelt. Benennung nach

Programmiersprache Python Seite 58

Angabe zum Interpreter in der Code-Datei

In der ersten Zeile wird der Pfad zum Interpreter angegeben. Die Zeile beginnt mit #!. Die Zeile wird als magic line oder

Shebang-Zeile bezeichnet. Den beiden Zeichen folgt der Pfad zum Python-Interpreter.

#!/usr/bin/python

hallo = 'Guten Tag'print(hallo)

Page 59: Python - Programmierung · Programmiersprache Python Seite 3 Geschichte Anfang 1990er Jahre von Guido von Rossum am Centrum voor Wiskunde en Informatica entwickelt. Benennung nach

Programmiersprache Python Seite 59

Hinweise

Betriebssystem Windows: Die Angaben sind nicht erforderlich. Betriebssystem Unix / Linux: Jede Code-Datei muss mit

dieser Zeile beginnen.

#!/usr/bin/python

hallo = 'Guten Tag'print(hallo)

Page 60: Python - Programmierung · Programmiersprache Python Seite 3 Geschichte Anfang 1990er Jahre von Guido von Rossum am Centrum voor Wiskunde en Informatica entwickelt. Benennung nach

Programmiersprache Python Seite 60

Angabe der Python-Version

In der ersten Zeile wird der Pfad zum Interpreter angegeben. Die Zeile beginnt mit #!. Das Tool env sucht den Pfad entsprechend der PATH-

Angaben. In diesem Beispiel wird nach einer Python-Version ab 3.0

gesucht.

#!/usr/bin/env python3

hallo = 'Guten Tag'print(hallo)

Page 61: Python - Programmierung · Programmiersprache Python Seite 3 Geschichte Anfang 1990er Jahre von Guido von Rossum am Centrum voor Wiskunde en Informatica entwickelt. Benennung nach

Programmiersprache Python Seite 61

Anzeige der von IDLE genutzten Python-Version

Help – About IDLE. Zuerst wird die verwendete Python-Version angezeigt. Darunter wird die verwendete IDLE-Version angezeigt.

Page 62: Python - Programmierung · Programmiersprache Python Seite 3 Geschichte Anfang 1990er Jahre von Guido von Rossum am Centrum voor Wiskunde en Informatica entwickelt. Benennung nach

Programmiersprache Python Seite 62

Zeichenkodierung der Datei

In der zweiten Zeile kann eine Zeichenkodierung für die Datei angegeben werden. Die Datei muss in dieser Zeichenkodierung gespeichert werden.

Dem Hash-Zeichen folgt der Begriff coding. Dem Begriff wird mit Hilfe des Gleichheitszeichens eine Zeichenkodierung zugewiesen.

#!/usr/bin/env python3# coding=utf-8

hallo = 'Guten Tag'print(hallo)

Page 63: Python - Programmierung · Programmiersprache Python Seite 3 Geschichte Anfang 1990er Jahre von Guido von Rossum am Centrum voor Wiskunde en Informatica entwickelt. Benennung nach

Java – Einführung in die Programmierung Seite 63

Unicode-Zeichensatz

Das erste Zeichen im Zeichensatz wird mit Hilfe von '\u0000' angegeben.

Die ersten 127 Zeichen des UTF-8-Zeichensatzes sind mit dem ASCII-Zeichensatz identisch.

Die ersten 256 Zeichen des UTF-8-Zeichensatzes entsprechen dem ISO 8859-1 (Latin 1)-Zeichensatz.

Standardcodierung ab Python 3.x. Siehe https://unicode-table.com/de/.

Page 64: Python - Programmierung · Programmiersprache Python Seite 3 Geschichte Anfang 1990er Jahre von Guido von Rossum am Centrum voor Wiskunde en Informatica entwickelt. Benennung nach

Java – Einführung in die Programmierung Seite 64

ASCII-Zeichensatz

American Standard Code for Information Interchange. Definition von 128 Zeichen. Standardcodierung für die Versionen Python 2.x. Siehe http://www.torsten-horn.de/techdocs/ascii.htm

Page 65: Python - Programmierung · Programmiersprache Python Seite 3 Geschichte Anfang 1990er Jahre von Guido von Rossum am Centrum voor Wiskunde en Informatica entwickelt. Benennung nach

Programmiersprache Python Seite 65

Module

Erweiterung der Standard-Funktionalität von Python Werkzeuge, die von Python standardmäßig geliefert werden,

aber nicht zum Sprachkern gehören. Diese Module werden automatisiert mit Python installiert.

Selbstgeschriebene oder Werkzeuge von Drittanbietern. Module können in Ordnern (Paketen) zusammengefasst

werde.

Page 66: Python - Programmierung · Programmiersprache Python Seite 3 Geschichte Anfang 1990er Jahre von Guido von Rossum am Centrum voor Wiskunde en Informatica entwickelt. Benennung nach

Programmiersprache Python Seite 66

Links zu Standardmodulen

Sortiert nach Kategorien. https://docs.python.org/3.6/library/.

Alphabetisch sortiert. https://docs.python.org/3/py-modindex.html.

Page 67: Python - Programmierung · Programmiersprache Python Seite 3 Geschichte Anfang 1990er Jahre von Guido von Rossum am Centrum voor Wiskunde en Informatica entwickelt. Benennung nach

Programmiersprache Python Seite 67

… in der Hilfe anzeigen

Eingabe von help() in der Shell. Eingabe von modules. Die Namen aller vorhandenen

Standardmodule werden angezeigt. Schließen der Hilfe: quit.

Page 68: Python - Programmierung · Programmiersprache Python Seite 3 Geschichte Anfang 1990er Jahre von Guido von Rossum am Centrum voor Wiskunde en Informatica entwickelt. Benennung nach

Programmiersprache Python Seite 68

Beispiel „Zeichnen mit der Schildkröte“

import turtle

turtle.pensize(8)turtle.color("red")

turtle.forward(90)turtle.rt(90)turtle.forward(90)turtle.rt(90)turtle.forward(90)turtle.rt(90)turtle.forward(90)turtle.rt(90)

Page 69: Python - Programmierung · Programmiersprache Python Seite 3 Geschichte Anfang 1990er Jahre von Guido von Rossum am Centrum voor Wiskunde en Informatica entwickelt. Benennung nach

Programmiersprache Python Seite 69

Import des Standardmoduls

Dem Schlüsselwort import folgt der Name des zu importierenden Moduls.

Alle, in dem importierten Modul definierten Elemente können in der Code-Datei genutzt werden.

In diesem Beispiel wird mit Hilfe der Schildkröte (turtle) auf einer Leinwand gezeichnet. Die Leinwand wird durch ein Grafik-Fenster dargestellt.

import turtle

Page 70: Python - Programmierung · Programmiersprache Python Seite 3 Geschichte Anfang 1990er Jahre von Guido von Rossum am Centrum voor Wiskunde en Informatica entwickelt. Benennung nach

Programmiersprache Python Seite 70

Informationen zu „turtle“

https://docs.python.org/3.0/library/turtle.html https://docs.python.org/3/library/frameworks.html https://github.com/asweigart/simple-turtle-tutorial-for-

python/blob/master/simple_turtle_tutorial.md

Page 71: Python - Programmierung · Programmiersprache Python Seite 3 Geschichte Anfang 1990er Jahre von Guido von Rossum am Centrum voor Wiskunde en Informatica entwickelt. Benennung nach

Programmiersprache Python Seite 71

Nutzung von turtle

In dem importierten Modul ist eine Schildkröte (turtle) definiert. Diese Schildkröte definiert einen beliebigen Stift. Mit Hilfe des Stiftes kann auf einer Leinwand gezeichnet

werden.

turtle.pensize(8)turtle.color("red")turtle.forward(90)turtle.rt(90)

Page 72: Python - Programmierung · Programmiersprache Python Seite 3 Geschichte Anfang 1990er Jahre von Guido von Rossum am Centrum voor Wiskunde en Informatica entwickelt. Benennung nach

Programmiersprache Python Seite 72

Leinwand zum Zeichnen

Das Zeichenbrett wird in einem Fenster „Python Turtle Graphics“ dargestellt.

Das Zeichenbrett wird automatisiert beim Starten des Programms angelegt.

Page 73: Python - Programmierung · Programmiersprache Python Seite 3 Geschichte Anfang 1990er Jahre von Guido von Rossum am Centrum voor Wiskunde en Informatica entwickelt. Benennung nach

Programmiersprache Python Seite 73

Objekte konstruieren und speichern

import turtle

stift = turtle.Turtle()stift.pensize(8)stift.color("red")

stift.forward(90)stift.rt(90)stift.forward(90)stift.rt(90)stift.forward(90)stift.rt(90)stift.forward(90)stift.rt(90)

Page 74: Python - Programmierung · Programmiersprache Python Seite 3 Geschichte Anfang 1990er Jahre von Guido von Rossum am Centrum voor Wiskunde en Informatica entwickelt. Benennung nach

Programmiersprache Python Seite 74

Konstruktionspläne

Konstruktionspläne werden in der Programmierung als Klassen bezeichnet.

Klassen beschreiben ein Objekt und deren Verhalten allgemein.

Konstruktionspläne werden in Modulen definiert.

stift = turtle.Turtle()

Page 75: Python - Programmierung · Programmiersprache Python Seite 3 Geschichte Anfang 1990er Jahre von Guido von Rossum am Centrum voor Wiskunde en Informatica entwickelt. Benennung nach

Programmiersprache Python Seite 75

… nutzen

Der Name Turtle() ruft einen Konstruktionsplan zur Erstellung einer Schildkröte auf. Die Schildkröte symbolisiert einen Stift.

Der Name eines Konstruktionsplans ist eindeutig in einem Modul. Der Konstruktionsplan ist in dem importierten Modul turtle definiert und dort eindeutig.

Dem Namen des Konstruktionsplanes folgen immer die runden Klammern.

Der Punkt verbindet den Modulname mit dem gewünschten Konstruktionsplan.

stift = turtle.Turtle()

Page 76: Python - Programmierung · Programmiersprache Python Seite 3 Geschichte Anfang 1990er Jahre von Guido von Rossum am Centrum voor Wiskunde en Informatica entwickelt. Benennung nach

Programmiersprache Python Seite 76

… und in einer Variablen speichern

In diesem Beispiel wird mit Hilfe des Ausdrucks turtle.Turtle() ein Konstruktionsplan aufgerufen.

Aus diesen Plan wird ein konkretes Objekt erstellt. Dieses Objekt wird im Speicher eines Computers abgelegt.

Die Adresse des Speicherortes wird mit Hilfe des Gleichheitszeichens der Variablen stift zugewiesen.

Mit Hilfe dieser Variablen kann das Objekt verändert werden. Auf das Objekt kann über die Variable zugegriffen werden.

stift = turtle.Turtle()

Page 77: Python - Programmierung · Programmiersprache Python Seite 3 Geschichte Anfang 1990er Jahre von Guido von Rossum am Centrum voor Wiskunde en Informatica entwickelt. Benennung nach

Programmiersprache Python Seite 77

Objekte

Erzeugung mit Hilfe eines bestimmten Konstruktionsplans (Klasse).

Beschreibung eines konkreten Elements. In diesem Beispiel wird ein Stift beschrieben.

stift = turtle.Turtle()

Page 78: Python - Programmierung · Programmiersprache Python Seite 3 Geschichte Anfang 1990er Jahre von Guido von Rossum am Centrum voor Wiskunde en Informatica entwickelt. Benennung nach

Programmiersprache Python Seite 78

… haben Attribute

Attribute sind Eigenschaften eines Objekts. Das Objekt wird mit Hilfe von Attributen beschrieben. Zum Beispiel hat ein Stift das Attribut Strichdicke und

Strichfarbe. Attribute haben Standardwerte, die mit Hilfe von Methoden

verändert werden können.

stift = turtle.Turtle()

stift.pensize(8)stift.color("red")

Page 79: Python - Programmierung · Programmiersprache Python Seite 3 Geschichte Anfang 1990er Jahre von Guido von Rossum am Centrum voor Wiskunde en Informatica entwickelt. Benennung nach

Programmiersprache Python Seite 79

… wenden Methoden an

Mit Hilfe des Punktes wird eine Variable mit einer Methode verbunden.

Methoden sind Fertigungsstraßen zur Veränderungen von Attributen eines Objekts.

Funktionen, die an ein Objekt gebunden sind.

stift = turtle.Turtle()

stift.pensize(8)stift.color("red")

Page 80: Python - Programmierung · Programmiersprache Python Seite 3 Geschichte Anfang 1990er Jahre von Guido von Rossum am Centrum voor Wiskunde en Informatica entwickelt. Benennung nach

Programmiersprache Python Seite 80

Methoden in diesem Beispiel

Die Methode .pensize() verändert die Strichdicke. Die gewünschte Strichdicke wird in den runden Klammern an die Methode übergeben.

Die Methode .color() setzt die Zeichenfarbe des Stiftes. Die gewünschte Farbe wird in den runden Klammern übergeben. Die Farbe wird immer als Zeichenkette in Anführungszeichen oder Apostrophs angegeben.

stift = turtle.Turtle()

stift.pensize(8)stift.color("red")

Page 81: Python - Programmierung · Programmiersprache Python Seite 3 Geschichte Anfang 1990er Jahre von Guido von Rossum am Centrum voor Wiskunde en Informatica entwickelt. Benennung nach

Programmiersprache Python Seite 81

Linien zeichnen

Mit Hilfe der Methode .forward() geht der Zeichenstift x Schritte vorwärts. Eine Linie wird gezeichnet. Die Anzahl der Schritte wird in runden Klammern angegeben.

Der .rt() dreht den Stift in einem bestimmten Winkel. Die Zeichenrichtung wird verändert. Der Winkel wird in den runden Klammern angegeben.

stift = turtle.Turtle()

stift.forward(90)stift.rt(90)