Python Einführung in die prozedurale Programmierung Monty Python's Flying Circus
Literatur Buchtitel Autor ISBN-Nummer Python Python3 Objektorientierte Programmierung mit Python 3 Handbuch des RRZN Johannes Ernesti Peter Kaiser 978-3-8362-1412-4 Michael Weigand 978-3-8266-1750-8 Python Ge-Packt Michael Weigand 978-3-8266-5934-8 Programming in Python 3 Mark Summerfield 978-0-1371-2929-4 Python 3 - Intensivkurs Mark Pilgrim 978-3-6420-4376-5 Einführung in die prozedurale Programmierung mit Python, 26.08.10 Seite 2
Dokumentation im Web Python: http://www.python.org/ Dokumentationen: http://docs.python.org/py3k/ http://tutorial.pocoo.org/ http://www.diveintopython3.org/ http://webpages.cs.luc.edu/~anh/python/handson/3.0/handson.pdf http://www.python-kurs.eu/deep_copy.php http://inventwithpython.com/ Einführung in die prozedurale Programmierung mit Python, 26.08.10 Seite 3
Foren im Web Foren: http://www.python-forum.de/ http://www.python-forum.org/pythonforum/index.php Einführung in die prozedurale Programmierung mit Python, 26.08.10 Seite 4
Python... wurde von Guido von Rossum am Centrum voor Wiskunde en Informatica Anfang 1990er Jahre entwickelt. ist eine prozedurale sowohl als auch objektorientierte Sprache. ist nicht nach der Schlangenart sondern nach der britischen Comedy-Gruppe Monty Python benannt wurden. wird momentan in der Version 3.1.2 ausgeliefert. Die Versionen 3.x sind nicht zu den Versionen 2.x abwärtskompatibel. Einführung in die prozedurale Programmierung mit Python, 26.08.10 Seite 5
Merkmale Prozedurale und objektorientierte Programmierung ist möglich. Einfache Syntax. Die Zeilen des Programms bilden die logische Struktur des Programms ab. Schnelle und einfache Entwicklung von kleinen Programmen. Programme, die in anderen Sprachen geschrieben sind, können eingebettet werden. Plattformunabhängig. Die Programmiersprache wurde nicht speziell für ein Betriebssystem geschrieben. Einführung in die prozedurale Programmierung mit Python, 26.08.10 Seite 6
Einsatzmöglichkeiten Web-Programmierung (CGI, Django, TurboGears, Zope...). Textverarbeitung. GUIs / Dialogfenster entwickeln (Tkinter, ). Prototypen-Erstellung für Machbarkeitsstudien. Nutzung als, in eine Anwendung, eingebettete, Skriptsprache. Siehe http://www.python.org/about/success/. Einführung in die prozedurale Programmierung mit Python, 26.08.10 Seite 7
Prozedurale Programmierung Die zu lösende Gesamtaufgabe wird in mehrere Teilaufgaben unterteilt. Jede Teilaufgabe besteht aus verschiedenen einzelnen Anweisungen. Die Anweisungen werden mit Hilfe der Programmiersprache beschrieben. Die zu bearbeitenden Daten sowie die Anweisungen sind getrennt. Jede Teilaufgabe kann auch in anderen Aufgaben / Problemstellungen verwandt werden. Einführung in die prozedurale Programmierung mit Python, 26.08.10 Seite 8
Elemente Anweisungen, die Zeile für Zeile abgearbeitet werden. Zum Beispiel: a = 5 * 3. Kontrollstrukturen für eine strukturierte Programmierung: In Abhängigkeit einer Bedingung wird eine Anweisung durchgeführt oder nicht. Zum Beispiel: Wenn divisor > 0, dann ergebnis = divident / divisor. Ein Anweisung wird in Abhängigkeit einer Bedingung x-mal wiederholt. Zum Beispiel: Solange a <> 0, a = a 1. Einführung in die prozedurale Programmierung mit Python, 26.08.10 Seite 9
Programmiertool IDLE... ist die Abkürzung für Integrated Development Enviroment. ist eine einfache Entwicklungsumgebung für Python. wird mit der Programmiersprache installiert. Einführung in die prozedurale Programmierung mit Python, 26.08.10 Seite 10
Weitere Programmiertools http://wiki.python.org/moin/ IntegratedDevelopmentEnvironments http://wiki.python.org/moin/pythoneditors http://pythonlinks.blogspot.com/2007/12/list-of-pythonidesintegrated.html Einführung in die prozedurale Programmierung mit Python, 26.08.10 Seite 11
Vom Programm zur ausführbaren Datei als Text schreiben Quellcode (*.py) Interpreter erzeugt vollautomatisch Bytecode (*.pyc) Einführung in die prozedurale Programmierung mit Python, 26.08.10 Seite 12
IDLE nutzen Icon auf dem Desktop. Start Programme Python x.x IDLE. [Python] \ Lib \ iddlelib \ idle.bat. Einführung in die prozedurale Programmierung mit Python, 26.08.10 Seite 13
besteht aus... der Titelleiste. Unter dem Icon der Anwendung links verbirgt sich das Systemmenü. Der Name der Anwendung wird angezeigt. Am rechten Rand befinden sich Schaltflächen zum Minimieren, Verkleinern und Schließen der Anwendung. dem Rahmen als Begrenzung der Anwendung zum Desktop. Mit Hilfe von Drag & Drop kann die Anwendung verkleinert oder vergrößert werden. der Menüleiste mit allen Befehlen. der Arbeitsfläche. Einführung in die prozedurale Programmierung mit Python, 26.08.10 Seite 14
Menüleiste File enthält alle Befehle zum Öffnen und Speichern von Dateien. Edit enthält Befehle zum Kopieren etc. von Anweisungen. Shell startet die Arbeitsfläche neu Debug zur Fehlersuche im Programm. Options zur Konfiguration von IDLE. Windows. Help. Einführung in die prozedurale Programmierung mit Python, 26.08.10 Seite 15
Arbeitsfläche... zeigt Informationen zur Python-Version an. blendet den Eingabeprompt >>> ein. Einführung in die prozedurale Programmierung mit Python, 26.08.10 Seite 16
Dem Eingabeprompt... folgt die Einfügemarke zum Eingeben von Anweisungen von Python. folgt eine Anweisung, die abgearbeitet wurde. Direkt unterhalb der Anweisung kann das Ergebnis der Anweisung oder ein Fehler angezeigt werden. Einführung in die prozedurale Programmierung mit Python, 26.08.10 Seite 17
Anweisungen im Shell-Modus eingeben Geben Sie die Anweisung «a = 3» ein. Dem Platzhalter a wird der Wert 3 zugewiesen. Bestätigen Sie die Eingabe mit <RETURN>. Die Anweisung liefert kein Ergebnis zurück. Geben Sie die Anweisung «a + 3» ein. Drei und der Wert, auf den a verweist, wird addiert. Bestätigen Sie die Eingabe mit <RETURN>. Es wird das Ergebnis der Berechnung in der nächsten Zeile angezeigt. Einführung in die prozedurale Programmierung mit Python, 26.08.10 Seite 18
Anweisungen und Fehler Geben Sie die Anweisung «a = 3» und bestätigen diese. Geben Sie Anweisung «a + b» ein. Bestätigen Sie die Eingabe mit <RETURN>. Der Platzhalter b ist nicht definiert. Es wird ein Fehler mit roter Schriftfarbe und einem Erläuterungstext angezeigt. Um den Fehler zu beheben, geben Sie die Anweisung «b = 5» ein. Mit Hilfe von <ALT>+<P> durchlaufen Sie die Liste aller eingegebenen Anweisungen bis zur Anweisung «a + b». Bestätigen Sie die Anweisung mit <RETURN>. Das Ergebnis 8 wird angezeigt. Einführung in die prozedurale Programmierung mit Python, 26.08.10 Seite 19
Anweisungen in einer Datei Öffnen Sie einen beliebigen Texteditor. Folgende Anweisung werden eingegeben: «a = 3» «b = 5» «print (a + b)» Pro Zeile wird eine Anweisung geschrieben. Speichern Sie die Textdatei mit der Endung.py Öffnen Sie IDLE. Öffnen Sie die neu erstellte Datei mit Hilfe von File Open. Der Inhalt der Datei wird angezeigt. Mit Hilfe von Run Run Module werden die Anweisung Zeile für Zeile abgearbeitet. Mit Hilfe der vordefinierten Funktion print() wird das Ergebnis in der Shell von IDLE ausgegeben. Einführung in die prozedurale Programmierung mit Python, 26.08.10 Seite 20
IDLE im Script-Modus In der Titelleiste wird der Name des Moduls und der Pfad angezeigt. Im Texteditor werden die Anweisungen angezeigt. Die Anweisungen werden mit Hilfe der Tastatur in den Texteditor eingegeben. Einführung in die prozedurale Programmierung mit Python, 26.08.10 Seite 21
Menüleiste im Script-Modus Das Menü File bietet Befehle zum Öffnen und Speichern des Programms. Das Menü Run bietet Befehle zum Ausführen der Anweisung. Das Menü Format bietet Formatierungsmöglichkeiten für den Code an. Einführung in die prozedurale Programmierung mit Python, 26.08.10 Seite 22
Programm... ist ein mit Hilfe der Tastatur geschriebener Text. besteht aus Anweisungen in jeder Zeile. Die Anweisungen werden mit Hilfe der Programmiersprache Python geschrieben. müssen in einer Datei mit der Endung.py gespeichert werden. Einführung in die prozedurale Programmierung mit Python, 26.08.10 Seite 23
Anweisungen... werden zeilenweise in eine Textdatei eingegeben. beschreiben eine Aktion / Schritt. bestehen aus Schlüsselwörtern, Platzhaltern, Konstanten und Operatoren. beachten die Groß- und Kleinschreibung. Einführung in die prozedurale Programmierung mit Python, 26.08.10 Seite 24
Schlüsselwörter 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 Einführung in die prozedurale Programmierung mit Python, 26.08.10 Seite 25
Platzhalter und Konstanten Platzhalter... für einen bestimmten veränderbaren Wert. müssen einen Wert vor der Nutzung mit Hilfe des Gleichheitszeichens zugewiesen bekommen. sind zum Beispiel «a = 3», «_wortlaenge = 5». Konstanten... sind feste Werte. «3» symbolisiert eine Ganzzahl. «3.4» symbolisiert eine Dezimalzahl. «"Text"» symbolisiert einen Text. Text wird immer in Anführungszeichen gesetzt. Einführung in die prozedurale Programmierung mit Python, 26.08.10 Seite 26
Operatoren Arithmetische Operatoren berechnen einen Wert aus ein oder zwei Operanden. Vergleichsoperatoren vergleichen zwei Werte. Logische Operatoren verknüpfen verschiedene Ausdrücke. Einführung in die prozedurale Programmierung mit Python, 26.08.10 Seite 27
Ausgabe mit Hilfe von print() «print (a + b)» «print ("Ergebnis: ", a + b)» «print()» ist eine vordefinierte Funktion. Funktionen... lösen eine bestimmte Aufgabe. In diesem Beispiel die Ausgabe des Ergebnis einer Berechnung. werden mit dem Namen «print» aufgerufen bekommen in den runden Klammern ein oder mehrere Argumente übergeben. In diesem Beispiel wird das Ergebnis der Berechnung «a + b» sowie ein Text übergeben. Einführung in die prozedurale Programmierung mit Python, 26.08.10 Seite 28
Kommentare... erleichtern das Verstehen eines Programms. bieten Informationen für den Entwickler. müssen bei Code-Änderungen oder Programm-Erweiterungen angepasst werden. werden vom Computer überlesen. beziehen sich auf die Frage Warum wird in dieser Zeile diese Aktion ausgeführt? und nicht Wie wird diese Aktion in dieser Zeile ausgeführt?. Einführung in die prozedurale Programmierung mit Python, 26.08.10 Seite 29
Einzeilige Kommentare «#Dies ist ein Kommentar» beginnen immer mit dem Hash-Zeichen. beziehen sich auf die nachfolgende Zeile. stehen rechts von der zu kommentierenden Zeile. Einführung in die prozedurale Programmierung mit Python, 26.08.10 Seite 30
Mehrzeilige Kommentare «""" Dies ist ein mehrzeiliger Kommentar """» beginnen und enden immer mit drei Anführungszeichens. stehen am Anfang einer Datei, um das Gesamtprogramm zu erläutern. erläutern ein Abschnitt eines Programms. geben Auskunft über den Ersteller des Programms und deren Änderungsgeschichte. stehen rechts von der zu kommentierenden Zeile. Einführung in die prozedurale Programmierung mit Python, 26.08.10 Seite 31
Welche Python-Version wird genutzt? «#!/usr/bin/env python3» oder «#!/usr/bin/python3» In der ersten Anweisung wird der erste Python3-Interpreter genutzt, der in der Environment-Variablen gespeichert ist. Die zweite Anweisung nutzt immer den Python3-Interpreter in dem Verzeichnis usr/bin. Diese Form der Anweisung wird häufig für das Web genutzt. Falls das Betriebssystem Windows genutzt wird, wird diese Zeile nicht unbedingt benötigt. Einführung in die prozedurale Programmierung mit Python, 26.08.10 Seite 32