Python für Linguisten

Ähnliche Dokumente
Programmiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny

Algorithmen & Programmierung. Ausdrücke & Operatoren (1)

Informatik I. 4. Funktionen: Aufrufe und Definitionen. 25. Oktober Albert-Ludwigs-Universität Freiburg. Informatik I.

C++ - Einführung in die Programmiersprache Funktionen. Leibniz Universität IT Services Anja Aue

Informatik I. Informatik I. 6.1 Programme. 6.2 Programme schreiben. 6.3 Programme starten. 6.4 Programme entwickeln. 6.1 Programme.

Einführung in die Computerlinguistik Einführung in Python (2)

Programmieren in MATLAB Mehr als nur ein Taschenrechner

Einführung in den Einsatz von Objekt-Orientierung mit C++ I

Modul Entscheidungsunterstützung in der Logistik. Einführung in die Programmierung mit C++ Übung 4

Präzedenz von Operatoren

zu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme

Programmierung in Python

JavaScript. Dies ist normales HTML. Hallo Welt! Dies ist JavaScript. Wieder normales HTML.

Die Programmiersprache C

Informatik I. Übung 2 : Programmieren in Eclipse. 5. März Daniel Hentzen

Informatik für Schüler, Foliensatz 21 Objektorientierte Programmierung

Übungen zur Vorlesung EidP (WS 2015/16) Blatt 6

zu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme

Funktionen in PHP 1/7

FH München, FB 03 FA WS 06/07. Ingenieurinformatik. Name Vorname Matrikelnummer Sem.Gr.: Hörsaal Platz

Praktikum Ingenieurinformatik. Termin 4. Funktionen, numerische Integration

Python CGI-Skripte erstellen

ANSI C. Grundlagen der Programmierung. Ricardo Hernández García. 3. Ausgabe, September 2011 CANSI2

Java Einführung Methoden. Kapitel 6

Informatik B von Adrian Neumann

Inhaltsverzeichnis Einleitung xi Kapitel 1: Die Vorbereitung aufs Abenteuer

Ingenieurinformatik (FK 03) Übung 4

Eine Einführung in R: Programmstrukturen

Übungspaket 19 Programmieren eigener Funktionen

Einstieg ins Programmieren mit Python

Grundlagen der Programmierung in C Funktionen

Einführung Datentypen Verzweigung Schleifen. Java Crashkurs. Kim-Manuel Klein May 4, 2015

Einführung in die Computerlinguistik Einführung in Python (1)

Informatik. Studiengang Chemische Technologie. Michael Roth WS 2012/2013. Hochschule Darmstadt -Fachbereich Informatik-

Deklarationen in C. Prof. Dr. Margarita Esponda

Grundlagen. Die Komponenten eines C Programms. Das erste Programm

Klausurteilnehmer. Wichtige Hinweise. Note: Klausur Informatik Programmierung, Seite 1 von 8 HS OWL, FB 7, Malte Wattenberg.

Einführung in Python Teil I Grundlagen

Übungspaket 29 Dynamische Speicherverwaltung: malloc() und free()

Der Aufruf von DM_in_Euro 1.40 sollte die Ausgabe 1.40 DM = Euro ergeben.

PROGRAMMIEREN MIT C. }, wird kompiliert mit dem Befehl. (-o steht für output) und ausgeführt mit dem Befehl

Programmieren in C/C++ und MATLAB

Java 8. Elmar Fuchs Grundlagen Programmierung. 1. Ausgabe, Oktober 2014 JAV8

Steht in der ersten Zeile #!/usr/bin/python und hat man die Ausführungsrechte gesetzt kann man es direkt ausführen.

Grundlagen der Programmierung

28. April Python ist eine Interpreter Sprache. einfach durch eigene C Module erweiterbar. Daten werden dynamisch getypt

4.2 Selbstdefinierte Matlab-Funktionen 1. Teil

Funktionen Häufig müssen bestimmte Operationen in einem Programm mehrmals ausgeführt werden. Schlechte Lösung: Gute Lösung:

Objective-C CheatSheet

Python Programmieren. Variablen, Ausdrücke und Anweisungen

3. Grundlegende Sprachkonstruktionen imperativer Programme

Multimedia im Netz Wintersemester 2011/12

AuD-Tafelübung T-B5b

Wiederholung Wozu Methoden? Methoden Schreiben Methoden Benutzen Rekursion?! Methoden. Javakurs 2012, 3. Vorlesung

Einführung Datentypen Verzweigung Schleifen Funktionen Dynamische Datenstrukturen. Java Crashkurs. Kim-Manuel Klein

2017/01/23 15:50 1/5 Bedienung

Übungsblatt 2. Abgabe: Freitag, 7. November 2014, 18:00 Uhr

Übungsblatt 3: Algorithmen in Java & Grammatiken

Informatik Repetitorium SS Volker Jaedicke

Die freie Programmiersprache Python mit Beispielen für ihren praktischen Einsatz. Python User Group Köln

Informatik 1 ( ) D-MAVT F2010. Logik, Schleifen. Yves Brise Übungsstunde 4

Interpreter - Gliederung

JAVA - Methoden

Elementare Datentypen in C++

Fachgebiet Informationssysteme Prof. Dr.-Ing. N. Fuhr. Programmierung Prof. Dr.-Ing. Nobert Fuhr. Übungsblatt Nr. 10

C++ - Funktionen und mehr. Kerstin Gößner und Ralf Wondratschek

Programmiervorkurs. Organisation: Steffen Gebert, Alexander Wolff. Tutoren: Jürgen Zöller, Jonathan Stoll. Wintersemester 2012/2013

Shell-Scripting Linux-Kurs der Unix-AG

Shell-Scripting Linux-Kurs der Unix-AG

Einleitung Entwicklung in C Hello-World! Konstrukte in C Zusammenfassung Literatur. Grundlagen von C. Jonas Gresens

Objektorientierte Programmierung mit Python Objekt und Klassen

C.3 Funktionen und Prozeduren

FH D. Objektorientierte Programmierung in Java FH D FH D. Prof. Dr. Ing. André Stuhlsatz. Blöcke. Beispiel: Variablen in Blöcken

Einführung in Python Übung 1

JAVA Kommentieren mit Javadoc

Aktivitäten in C# /.NET umsetzen

Projekt: Python Programmierung

Lua - Erste Schritte in der Programmierung

10 Objektorientierte Programmierung, Teil 1

Beispiel: Methode mit einem Fehler. Diese Methode wird problematisch, wenn von außen eine Dauer von 0 Sekunden angegeben wird, etwa im Aufruf

Informatik für Schüler, Foliensatz 3 Vorhandene Funktionen und Wiederholschleifen

Babeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005. Modulare Programmierung

Einstieg in die Programmierung mit Visual Basic.NET

Die Programmiersprache C Eine Einführung

Einführung in die Java- Programmierung

Programmierkurs Java

Programmiersprachen Einführung in C. Unser erstes C-Programm. Unser erstes C-Programm. Unser erstes C-Programm. Unser erstes C-Programm

Datenstrukturen, Alignment Stack Prozeduraufruf, Parameterübergabe und -rückgabe (Calling Conventions) Leaf procedures

6 Ein- und Ausgabe. Bisher war unsere (Bildschirm-) Ausgabe leichtflüchtig (

Kontrollstrukturen, Pseudocode und Modulo-Rechnung

Übung 9. Quellcode Strukturieren Rekursive Datenstrukturen Uebung 9

Praktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester 2015/16. Vorbereitende Aufgaben

Software Maintenance - Musterlösung zum Übungsblatt 1

Programmierkurs. Manfred Jackel

5. Elementare Befehle und Struktogramme

S. d. I.: Programieren in C Folie 4-1. im Gegensatz zu Pascal gibt es in C kein Schlüsselwort "then"

Name und Syntax Was passiert? Anmerkungen / Erklärungen

Aufgabe 1. »Programmieren«, WS 2006/2007. Nino Simunic M.A.

PHP 5.4 ISBN Stephan Heller, Andreas Dittfurth 1. Ausgabe, September Grundlagen zur Erstellung dynamischer Webseiten GPHP54

Klassen und Objekte. Einführung in Java. Folie 1 von Mai Ivo Kronenberg

Transkript:

Python für Linguisten Dozentin: Wiebke Petersen & Co-Dozentin: Esther Seyarth 3. Foliensatz Funktionsdenitionen Petersen & Seyarth Python 1

Wiederholung: Funktionsaufruf Python bringt einige vordenierte Funktionen mit: z.b. round(number), min(number1,number2), type(object), id(object). Ein Funktionsaufruf ist ein Ausdruck function_name(arg1,arg2) arg1,arg2 sind die Argumente, mit denen die Funktion function_name aufgerufen wird. Jede Funktion hat eine festgelegte Stelligkeit (Zahl der Argumente). Beim Aufruf von Funktionen wird für jedes Argument ein konkreter Wert angegeben, der dann bei der Auswertung der Funktion verwendet wird. Genaugenommen sind Operatoren auch Funktionen (mit einer anderen Syntax). Funktionsaufrufe können als Input für andere Funktionen eingesetzt werden (die Funktionen werden verschachtelt): Beispiel: type(id("hello")) Beispiel: min(round(4.3),4.2) Beispiel: round(min(4.3,4.2)) Petersen & Seyarth Python 2

Denition von Funktionen 1 >>>def double(x): 2 y = 2*x 3 print ("Das Doppelte von "+str(x)+" ist "+str(y)) 4 return y 5 6 >>> n = double(4) 7 Das Doppelte von 4 ist 8 8 >>> n + 5 9 13 Zeile 1-4: Funktionsdenition Zeile 6: Funktionsaufruf Die Funktionsdenition ist eine Anweisung (statement) und bildet somit einen Block. Sie besteht aus dem Funktionskopf (Zeile 1) und dem Funktionskörper (Zeile 2-4). Petersen & Seyarth Python 3

Denition von Funktionen 1 >>>def double(x): 2 y = 2*x 3 print ("Das Doppelte von "+str(x)+" ist "+str(y)) 4 return y Der Funktionskopf hat immer die Form def function_name(parameter_1, parameter_2,..., parameter_n): Die Parameter sind Variablen, die beim Aufruf der Funktion mit den übergebenen Argumenten gefüllt werden. Der Körper besteht aus einer beliebigen Zahl von Anweisungen (> 0). Er wird eingerückt, da er zusammen mit dem Kopf eine Funktionsdenition bildet. Beim Aufruf der Funktion werden die Parameter mit den Argumenten gefüllt und es werden schrittweise die Anweisungen im Funktionskörper ausgewertet, bis eine return-anweisung ausgeführt wird. Diese gibt ihren Wert an die Stelle zurück, an der der Funktionsaufruf erfolgte. Vorsicht: Nach einer return-anweisung werden keine weiteren Anweisungen des Funktionskörpers mehr ausgeführt. Petersen & Seyarth Python 4

Denition von Funktionen mit Dokumentation 1 from future import division # an Rechnern mit Python 2.x 2 def area(base, height ): 3 '''(number,number) -> float 4 returns the area of a triangle with base length 'base' and 5 height length 'height' 6 >>> area(5,4) 7 10 8 ''' 9 return base * height / 2 Zeile 2: Funktionskopf Zeile 3-7: Docstring. Diese Information wird bei der Anfrage help(area) zusätzlich zu Zeile 2 angezeigt. Zeile 3: Festlegung der Datentypen Zeile 4-5: Beschreibung der Funktion Zeile 6: Beispielaufruf Zeile 7: Output für den Beispielaufruf Vergessen Sie nie, bei der Denition einer Funktion den Docstring mit anzugeben. Petersen & Seyarth Python 5

Rezept für gute Funktionsdenitionen 1 Wählen Sie einen sprechenden Namen. Schlecht: func1(). Gut: cube_volume(). 2 Wählen Sie sprechende Namen für die Parameter. 3 Schreiben Sie den Funktionskopf. 4 Legen Sie die Datentypen fest (type contract). 5 Schreiben Sie die Funktionsbeschreibung: Was tut die Funktion, was gibt sie zurück? 6 Ergänzen Sie Beispiele für den Funktionsaufruf (ggf. reicht ein Beispiel). 7 Testen Sie die Funktion ausgiebig: Verhält sie sich so wie geplant? Treten unerwartete Fehler auf? Sind die Rückgabewerte nützlich? Entsprechen die Ergebnisse (Rückgabewerte) Ihrer Intuition/Rechnung? (Zur Fehlerbehandlung wird es noch eine separate Sitzung geben.) Petersen & Seyarth Python 6

Tipps zur Verwendung von Funktionen Sie können eine Funktion in der gleichen Datei, in der sie deniert ist, aufrufen. Allerdings muss die Funktionsdenition vor (also oberhalb von) dem Aufruf der Funktion stehen. Eine Funktion kann man als eingebettetes Programm betrachten. Sobald die Funktion ausgewertet wurde und der Python-Interpreter sich wieder auÿerhalb der Funktion bendet, kann er nur noch auf die mit return zurückgegebenen Werte zugreifen! Sie können auch innerhalb eines Funktionskörpers neue Variablen erstellen, belegen und verwenden, aber diese Variablen sind nur innerhalb des Funktionskörpers bekannt. Überlegen Sie sich: Welche Werte brauche ich auch nach Beendigung der Funktion noch? Welche Werte dienen nur zum Berechnen und werden danach nicht mehr gebraucht? Falls Sie mehr als einen Rückgabewert brauchen, können Sie beliebig viele mit Komma getrennte Werte zurückgeben. return original_value, modified_value, "additional value" Petersen & Seyarth Python 7

Aufgabe Schreiben Sie eine Funktion, die Fahrenheit in Celsius umrechnet. Schreiben Sie eine Funktion, die die Initialen einer Person zurückgibt. Schreiben Sie eine Funktion, die das Volumen einer Kiste berechnet. Schreiben Sie eine Funktion, die die Wandächen eines Zimmers berechnet. Schreiben Sie eine Funktion, die die Menge von Farbeimern berechnet, die zum Streichen eines Zimmers benötigt werden. Schreiben Sie eine Funktion, die Minuten in Sekunden, Stunden in Sekunden und Tage in Sekunden umrechnet. Petersen & Seyarth Python 8