Proseminar Programmiersprachen Python

Slides:



Advertisements
Ähnliche Präsentationen
Ziele von EINI I + II Einführen in „Informatik“
Advertisements

der Universität Oldenburg
OStR Dipl. Ing. Carsten Kraft
Referat von Frederik Barth
Definition von Klassen in Java
Seminar Internet-Technologie (Skriptsprachen)
Imperative Programmierung -Entwicklungswerkzeuge
Spec# Proseminar Assertions im SS 2007 Uni Paderborn Andreas Martens Betreuer: Dipl. Inform. Björn Metzler.
FH-Hof Einbindung von JavaScript Anweisungen
Java: Objektorientierte Programmierung
Java: Grundlagen der Objektorientierung
Die Skriptsprache Lua Softwaretechnologie II.
Praktikum Entwicklung und Einsatz von Geosoftware I - Sitzung 3 Klassen, Objekte, Arrays und Kontrollstrukturen Sommersemester 2003 Lars Bernard.
Webserver, © Till Hänisch 2002 Apache The open way.
EINI-I Einführung in die Informatik für Naturwissenschaftler und Ingenieure I Vorlesung 2 SWS WS 99/00 Gisbert Dittrich FBI Unido
Imperative Programmierung Funktionen und Parameter
Das Build-Tool ANT ETIS SS05. ETIS SS05 - Nadine FröhlichANT 2 Gliederung Motivation Build - Datei –Allgemeiner Aufbau –Project –Target –Task –Properties.
PRJ 2007/1 Stefan Dissmann Motivation Problem: gleiche Datenstrukturen werden für verschiedene Objekte gebraucht: z.B. Listen von Studierenden, Kunden,
Brandenburgische Technische Universität Cottbus Program Profiling Andrzej Filipiak Übung Testen von Software SoSe 2006.
Das Java-Hamstermodell
Objektorientierte Programmierung
Einführung und Überblick
Die Skriptsprache Python im Kontext des Softwareentwicklungsprozesses
Einfach verkettete Listen
Rekursive Funktionen (Fakultät)
Was umfaßt die CORBA Core Spezifikation? Welche zusätzlichen Komponenten muß ein ORB Produkt beinhalten? Core: CORBA Objekt Modell CORBA Architektur OMG.
Monty Python‘s Flying Circus
Herzlich Willkommen zu „Einführung in die Programmierung mit Java“
Informatik 1 Übung 8. NACHBESPRECHUNG Übung 8 Rekursion Existiert Weg von A nach B?
Betriebssystem Linux Von Sofia & Yasemin WG 12/3.
Einführung / Geschichte Einführung / Geschichte Motivation Motivation Beispiel Beispiel Architektur / Komponenten Architektur / Komponenten Konfiguration.
Projektarbeit PHP 5.3 / MySQL & Content Management Systems
Java und Eclipse.
PHP und MYSQL am Organisatorisches Der komplette Kurs im Schnelldurchgang Bewertung von wichtig und unwichtig Historisch Kulturwissenschaftliche.
Debugging in Lua Universität zu Köln Re-usable Content in 3D und Simulationssystemen Prof. Dr. Manfred Thaller Referent: Artur Wilke.
Sesame Florian Mayrhuber
Kompetenz -, Lern - und Prüfungsbereiche Anforderungsbereiche
Die Grundidee Funktionsaufruf Funktionsname (Kopf) Code der Funktion
Grundkonzepte des Programmierens (mit ActionScript)
Programmiersprachen Proseminar Grundlagen wissenschaftlichen Arbeitens
Purga - Scriptengine Ein Einblick.
Was mich ursprünglich von Perl überzeugt hat. Gegeben ist eine Textdatei, deren Größe unbekannt ist. Sie ist jedoch so klein, daß sie komplett in den Speicher.
Grundlagen Wissenschaftlichen Arbeitens Hilal Tekoglu
Einführung in PHP.
Einführung in PHP 5.
Starten der Entwicklungsumgebung (IDE)
Dedizierte Systeme Typo3 Installation Dedizierte Systeme – Typo3 Installation – Christoph Stollwerk IT Zertifikat der Philosophischen Fakultät WS 2008/2009.
Variablen. var meineZahl:Number = 7; meineZahl 7 Name TypWert = Zuweisung von Variablen.
SFZ Sj 13/14 GZG FN W.Seyboldt 1 SFZ FN Sj. 13/14 Python Grundlagen.
Content-Managment-System
SFZ FN Sj. 13/14 Python Grundlagen InfK12 Sj 13/14 GZG FN W.Seyboldt.
SFZ FN Sj. 13/14 Python 1 Grundlagen Inf K1/2 Sj 13/14
VirtualPatt 2000 Interaktives 3D-Schachspiel
Web und Mobile Apps Programmieren Marco Jakob Kurzvortrag OSS an Schulen
Software Engineering Strukturierter Entwurf
JavaScript Geschichte : Netscape entwickelt LiveScript (Syntax angelehnt an Java) - Umbenennung von Live Script in JavaScript - Mircrosoft.
Java-Kurs - 4. Übung Hausaufgabe Weitere Kontrollstrukturen
Geschichte - Entstehung - Was ist PHP? Einordnung - Allgemeines
Text Encoding Initiative Universität zu Köln Daten- und Metadatenstandards Seminarleitung: Patrick Sahle Seminarleitung: Patrick Sahle Referentin: Anna.
Einführung in Java PING e.V. Weiterbildung Andreas Rossbacher 24. März 2005.
Objektorientierte (OO) Programmierung
Dr. Wolfram Amme, Semantik funktionaler Programme, Informatik II, FSU Jena, SS Semantik funktionaler Programme.
Die Programmiersprache Ruby Seminarvortrag von Lia Schulze Dephoff 1.
Tutorium Software-Engineering SS14 Florian Manghofer.
Tutorium Software-Engineering SS14 Florian Manghofer.
Objektorientierung Gliederung von Daten und Funktionen zu Objekten
Aufgaben zu Rückgabewerten
Objektorientierte Programmierung
 Präsentation transkript:

Proseminar Programmiersprachen Python Von Andrej Szaffranietz und Ronja Deisel SS 2012 Abbildung: http://www.webmasterpro.de/coding/article/python.html

Inhalt: Entwicklung Pythons Ausgewählte Eigenschaften Beispielprogramme Anwendungen Kritische Beurteilung

Entwicklung Entwicklung seit 1989 durch Guido van Rossum Veröffentlichung 1991 Version 1.0.0: 1994 Aktuell: 3.2.2. Noch in Verwendung: 2.7.2. Inzwischen weit verbreitet Name „Python“ als Anspielung auf Komikergruppe Monty Python Einflüsse: ABC, C, Perl, Modula-3, LISP, Haskell, etc. Abbildung: https://us.pycon.org/2012/keynotes/

Entwicklung: Ziele Erweiterbarkeit Open Source Mächtigkeit: Große Standardbibliothek Viele verfügbare Module Erleichterung des Programmieralltags: Übersichtlicher Syntax durch Einrückung zur Blockbegrenzung Reduziere Syntax, wenige Schlüsselwörter Interaktiver Modus Plattformunabhängigkeit: Meist kompilierender Interpreter Windows, Unix, Mac OS, u.a.

Multiparadigmensprache: Komplett unterstützt: objektorientiert, strukturiert Möglich: imperativ, funktional, ... Intern: streng objektorientiert „alles ist ein Objekt“: Stings, Listen, Funktionen, Module,... Beispiel: Jedes Objekt besitzt Methode type >> type(3) <type ‘int‘> >> type(„string“) <type ‘str‘> >> type(len) <type ‘builtin_function_or_method‘>

Ausgewählte Eigenschaften Alles ist ein Objekt Dynamische Typverwaltung Strukturierung durch Einrücken Schema eines Pythonprogramms Importanweisungen Funktionsdefinitionen Hauptprogramm

Funktionsdefinition Funktionsdefinition Programmcode der Funktion def geom(breite, laenge): Programmcode der Funktion flaeche = breite * laenge umfang = 2 * (breite + laenge) Evtl. Rückgabewerte return flaeche, umfang Funktionsaufruf f, u = geom(3, 7) print “Fläche: “, f print “Umfang: “, u

Kontrollstrukturen I if Bedingung: elif Bedingung: else: ... elif Bedingung: … else: if x<12: y = 20 else: y = 8 Bedingter Ausdruck: y = (20 if x<12 else 8)

Kontrollstrukturen II while Bedingung: Anweisung … continue break for Variable in Objekt: Anweisung … for i in range(start, stop, step)

Beispielprogramme

Anwendungen Als Skriptsprache: Dynamische Webanwendungen z.B.: Open Office, GIMP, NASA Dynamische Webanwendungen z.B.: Google Spider/Search Engine/App Engine, YouTube Entwurf von Prototypen Lehre: z.B.: „One Laptop per Child“ Desktopanwendungen 3D-Simulationen Echtzeit-Syteme Mathematische Fragestellungen ...

Kritische Beurteilung: Vorteile Benutzerfreundlichkeit, leicht erlernbar: Klare/reduzierte Syntax Übersichtlichkeit Mächtigkeit: Große Standardbibliothek Flexibilität: Multiparadigmensprache Erweiterbarkeit: Module in C und Python werden unterstützt

Kritische Beurteilung: Nachteile Fehleranfällig, wegen dynamischer Typisierung Fehlen bekannter Konstrukte switch do while ... schlechte Performance

Kritische Beurteilung: Fazit Große Vielfalt an Einsatzmöglichkeiten mit Ausnahme von performance-kritischen Anwendungen Kann Effizienz und Stil von Entwicklern verbessern Stetige Weiterentwicklung  Interessante, vielseitige Programmiersprache

Literaturhinweise: Online: Literatur: Offizielle Homepage: http://python.org/ Van Rossums Blog: http://neopythonic.blogspot.de/ Usenet: comp.lang.python Literatur: Programming Python, Mark Lutz, O‘Reilly Media A byte of python (http://www.swaroopch.com/notes/Python#Download) Dive into Python, Mark Pilgrim, Apress

Vielen Dank für eure Aufmerksamkeit! Fragen?