Einführung in Python. Übung zur Vorlesung NLP Beate Krause, Dominik Benz NLP-Übung: Einführung in Python 1

Ähnliche Dokumente
Programmieren in Python

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

Programmierung in Python

1 Bedingungen und der Typ bool. Informatik I: Einführung in die Programmierung 5. Bedingungen, bedingte Ausführung und Schleifen. Vergleichsoperatoren

Programmierkurs Python I

Einführung in Python Teil I Grundlagen

Einführung in Python (1)

Einführung in die Programmierung mit VBA

Python SVN-Revision 12

Automatisiertes Testen mit dem Doctest-Modul

Programmierung I Einführung in Python, Beyond the Basics

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

GI Vektoren

Programmier-Befehle - Woche 10

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

Programmieren mit Python

Luis Kornblueh. May 22, 2014

Programmieren in Python

Kurzeinführung in Python

Algorithmik und Programmieren

Tutorium für Fortgeschrittene

Informationsverarbeitung im Bauwesen

Prinzipien der Softwareentwicklung S. Strahringer

Einstieg ins Programmieren mit Python

Multimedia im Netz Wintersemester 2011/12

Python Programmieren. Variablen, Ausdrücke und Anweisungen

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 C-Programmierung

Hello World. Javakurs 2014, 1. Vorlesung. Sebastian Schuck. basierend auf der Vorlage von Arne Kappen. wiki.freitagsrunde.org. 3.

Michael Weigend. Python GE-PACKT

Sage Tutorium 1. Computermathematik Informatik WS November 2009

Sin-Funktion vgl. Cos-Funktion

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

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

Java Einführung Abstrakte Klassen und Interfaces

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

Python Tutorial. Geschrieben am Von Sebastian Schäfer 0 EINLEITUNG EINFÜHRUNG Python...

Skriptsprachen am Beispiel Python

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

Programmieren in Python

Grundlagen Internet-Technologien. Clientseitige Web-Programmierung

Informatik I Übung, Woche 40

5 DATEN Variablen. Variablen können beliebige Werte zugewiesen und im Gegensatz zu

Reguläre Ausdrücke in Python

Python Einführung in die prozedurale Programmierung. Monty Python's Flying Circus

2 Vorkurs Programmierung

Übersicht. Wo lebt die Schildkröte? Wie programmiert man die Schildkröte? Wo lebt die Schildkröte? Wie programmiert man die Schildkröte?

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

VisualBasic - Variablen

Kurze Einführung in die Programmiersprache C++ und in Root

IT-Zertifikat: Allgemeine Informationstechnologien II PHP

Übersicht. Einführung in Perl Datenstrukturen I. Datentypen Übersicht (1) Kernbegriffe. Kernbegriffe. Einführung der Datentypen.

Python-Workshop. Python für C/C++ Programmierer. Carl Friedrich Bolz. Carl Friedrich Bolz

VBA-Programmierung: Zusammenfassung

Programmierkurs Python I

Eine sehr kurze Einführung in (I)Python und SimpleITK Teil 1 richard rascher-friesenhausen richard.rascher-friesenhausen@hs-bremerhaven.

Vorlesung 4: Shell-Scripting (Teil 1)

Vorlesung Inhaltsverzeichnis. 1. Einfache Rechnungen

Die Programmiersprache C Eine Einführung

Informatik I: Einführung in die Programmierung

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

Programmierkurs Python I

Programmierkurs: Delphi: Einstieg

THE GO PROGRAMMING LANGUAGE. Michael Karnutsch & Marko Sulejic

Die Programmiersprache C99: Zusammenfassung

MVC-II Schematische Aufzeichnung Des MVC (model-2), bei dem zwei Modelle zum Zuge kommen:

Linux Tutorium. 12. Shellprogrammierung. Version vom :38:56

Brainfuck. 1 Brainfuck. 1.1 Brainfuck Geschichte und Umfeld. 1.2 Esoterische Programmiersprachen

Python Programmierung. Dipl.-Ing.(FH) Volker Schepper

Python so macht Programmieren Spass

PERL. Eine Einführung. von Serap Tekke & Elif Öner

Inhaltsverzeichnis Einleitung xi Kapitel 1: Die Vorbereitung aufs Abenteuer

RO-Tutorien 3 / 6 / 12

Autor: Michael Spahn Version: 1.0 1/10 Vertraulichkeit: öffentlich Status: Final Metaways Infosystems GmbH

E-PRIME TUTORIUM Die Programmiersprache BASIC

Java Einführung VARIABLEN und DATENTYPEN Kapitel 2

Programmieren in C. C Syntax Datentypen, Operatoren und Kontrollstrukturen. Prof. Dr. Nikolaus Wulff

Nützliche Utility-Klassen des JDK

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

JAVA-Datentypen und deren Wertebereich

Shell-Scripting Linux-Kurs der Unix-AG

1. LPC - Lehmanns Programmier Contest - Lehmanns Logo

Michael Weigend. Python GE-PACKT. 5. Auflage

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

Crashkurs Kommandozeile

Grundlagen von Python

Programmieren I. Überblick. Institut für Angewandte Informatik. KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft

Übung zur Vorlesung Multimedia im Netz

TEIL I: OBJEKTORIENTIERUNG UND GRUNDKURS JAVA GRUNDLAGEN DER PROGRAMMIERUNG... 4

Ruby. Programmieren mit Zucker. Thomas Kühn

Einführung in die Programmierung für Nebenfach Medieninformatik. Beat Rossmy, Michael Kirsch

Erste Schritte der Programmierung in C

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

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

Programmieren in Haskell Einführung

Kontrollstrukturen, Pseudocode und Modulo-Rechnung

Versuchsziele Kenntnisse in der Anwendung von: Sortieren mit Klassen Benutzung von generischen Klassen o Definition o Sortierung.

Leseprobe. Bernd Klein. Einführung in Python 3. In einer Woche programmieren lernen. ISBN (Buch): ISBN (E-Book):

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

Transkript:

Einführung in Python Übung zur Vorlesung NLP Beate Krause, Dominik Benz 22.04.2008 23.04.2008 NLP-Übung: Einführung in Python 1

Ablauf der Übung Klärung von aktuellen Fragen zur Vorlesung Kurze Einführung in Python Einrichten einer Python-Umgebung Bearbeiten der Programmieraufgabe 23.04.2008 NLP-Übung: Einführung in Python 2

Python ist eine objektorientierte dynamisch getypte interpretierte interaktive High-Level-Programmiersprache 23.04.2008 NLP-Übung: Einführung in Python 3

Zum Programmieren braucht man.. Einen Texteditor. Komfortabel: Eclipse (http://www.eclipse.org/downloads/moreinfo/classic.php) Pydev Python Plugin (http://pydev.sourceforge.net/) den Python-Interpreter http://www.python.org/download/ für uns zusätzlich: NLTK http://nltk.sourceforge.net/ 23.04.2008 NLP-Übung: Einführung in Python 4

Getting started Gut zum Herumspielen : Das Interactive Development Enviroment (IDLE) 1 Python 2.5.2 (r252:60911, Feb 21 2008, 13:11:45) [MSC v.1310 32 bit 2 Type "copyright", "credits" or "license()" for more information. 3 >>> print 3 + 10 * 10 4 103 5 >>> "hello, " + "world" 6 hello, world 7 >>> "spam " * 4 8 spam spam spam spam 23.04.2008 NLP-Übung: Einführung in Python 5

Variablen Variablennamen: ASCII-Zeichen + Ziffern (erstes Zeichen darf keine Ziffer sein) müssen nicht deklariert werden, werden ins Leben gerufen, sobald Wert zugewiesen wird (aber auch erst dann!) 1 >>> msg = Hi 2 >>> num = 3 3 >>> msg * num 4 HiHiHi 5 >>> msg * newnum 6 7 Traceback (most recent call last): 8 File "<pyshell\#3>", line 1, in <module> 9 msg * newnum 10 NameError: name newnum is not defined 23.04.2008 NLP-Übung: Einführung in Python 6

Sequenztyp Strings Strings werden als Sequenz von Zeichen aufgefasst, aus denen slices extrahiert werden können 1 >>> msg = Hello World 2 >>> msg[0] 3 H 4 >>> msg[3] 5 l 6 >>> msg[1:4] 7 ell 8 >>> len(msg) 9 11 10 >>> msg[-1] 11 d 23.04.2008 NLP-Übung: Einführung in Python 7

Sequenztyp Liste kann verschiedene Elemente enthalten (Strings, Integer, andere Listen, ) sind im Gegensatz zu Strings mutable, d.h. Inhalt kann nach Definition modifiziert werden 1 >>> numbers = [1, 4, 9, 16] 2 >>> colors = [ green, blue, red ] 3 >>> colors[0] * numbers[1] 4 greengreengreengreen 5 >>> colors[0] = black 6 >>> numbers[1] = 2 7 >>> colors[0] * numbers[1] 8 blackblack 9 >>> name = Saulus 10 >>> name[0] = P 11 Traceback (most recent call last): 12 File "<pyshell#6>", line 1, in <module> 13 name[0] = S 14 TypeError: str object does not support item assignment 23.04.2008 NLP-Übung: Einführung in Python 8

Sequenztypen allgemein alle Sequenztypen unterstützen die Operationen Verkettung"Gambol"+ "putty"== "Gambolputty" Wiederholung: 2 * "spam"== "spamspam" Indizierung: "Python"[1] = "y" Mitgliedschaftstest: "yth" in "Python" Slicing: "Monty Python s Flying Circus"[6:12] = "Python" Iteration: for x in "egg" 23.04.2008 NLP-Übung: Einführung in Python 9

Sequenzen / Strings: nützliche Funktionen 1 >>> chomsky = [ colorless, green, ideas ] 2 >>> chomsky.sort() # Sortieren 3 >>> chomsky.reverse() # Reihenfolge umkehren 4 >>> chomsky.append( sleep ) # Elemente hinzufuegen 5 6 # Elemente aus Liste in String umwandeln 7 >>> sent = ;.join(chomsky) 8 >>> sent 9 colorless;green;ideas;sleep 10 11 # String mittels Delimiter aufteilen 12 >>> sent.split(;) 13 [ colorless, green, ideas, sleep ] 23.04.2008 NLP-Übung: Einführung in Python 10

Kontrollstrukturen: if / else 1 >>> word = Hello World 2 >>> if len(word) < 3: 3 print word length is less than three 4 elif len(word) == 3: 5 print word length is three 6 else: 7 print word length is greater than three Gültigkeitsbereich der Schleife durch whitespace festgelegt(!!) kein Semikolon am Ende der Zeilen 23.04.2008 NLP-Übung: Einführung in Python 11

Dictionaries Listen sind immer mit Integers indiziert Verallgemeinerung ( alles mit allem indizieren ): Dictionaries 1 >>> pos = {} 2 >>> pos[ colorless ] = adv 3 >>> pos[ furiously ] = adv 4 >>> pos[ ideas ] = n 5 >>> pos[ ideas ] 6 n 7 8 >>> pos.keys() # all keys (as list) 9 >>> pos.values() # all values (as list) 10 >>> pos.items() # all items (as key / value pairs) 11 12 >>> if adv in pos: 13 # ACHTUNG: prueft nur Schluesselmenge 23.04.2008 NLP-Übung: Einführung in Python 12

Reguläre Ausdrücke Zeichenketten, die der Beschreibung von Mengen beziehungsweise Untermengen von Zeichenketten mit Hilfe bestimmter syntaktischer Regeln dienen (Wikipedia) seehr mächtig & praktisch aber: learning by doing!! 1 >>> import nltk 2 >>> s = This is a greeeat sentence! 3 >>> nltk.re_show( is, s) 4 Th{is} {is} a greeeat sentence! 5 >>> nltk.re_show( e+, s) 6 This is a gr{eee}at s{e}nt{e}nc{e}! 7 8 >>> import re 9 # alle nicht-vokal / Vokal-Paare 10 >>> re.findall( ([^aeiou][aeiou]), s) 11 [ hi, i, a, re, se, te, ce ] 23.04.2008 NLP-Übung: Einführung in Python 13

Reguläre Ausdrücke ctd. Online testen: http://www.fileformat.info/tool/regex.htm 23.04.2008 NLP-Übung: Einführung in Python 14

Hinweise zur Übung / NLTK NLTK bietet recht viele fertige Funktionalität / Hilfestellung z.b. praktisch zum Plotten der Häufigkeiten: nltk.draw.plot Stopwortlisten für verschiedene Sprachen verfügbar es geistert auch viel fertiger Python-NLP-Code im Netz herum inspirieren OK, kopieren nicht Rad nicht 2x erfinden aber VERSTEHEN! 23.04.2008 NLP-Übung: Einführung in Python 15