Programmieren in Python



Ähnliche Dokumente
Programmieren in Python

Informatik I. 12. Erste Schritte in Python. Jan-Georg Smaus. Albert-Ludwigs-Universität Freiburg. 16. Dezember 2010

Einführung in die Programmiersprache Python

Algorithmen und Programmieren II Einführung in Python

Vermeiden Sie es sich bei einer deutlich erfahreneren Person "dranzuhängen", Sie sind persönlich verantwortlich für Ihren Lernerfolg.

schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG mitp/bhv

Programmieren Lernen mit BYOB. Gerald Futschek 5. November 2012

Anleitung zum Arbeiten mit Microsoft Visual Studio 2008 im Softwarepraktikum ET/IT

Java Script für die Nutzung unseres Online-Bestellsystems

1 Was ist das Mediencenter?

Algorithmen mit Python

Python SVN-Revision 12

Einführung in PHP. (mit Aufgaben)

2. ERSTELLEN VON APPS MIT DEM ADT PLUGIN VON ECLIPSE

Dokumentation für das Spiel Pong

C++ mit Eclipse & GCC unter Windows

Abschlussbericht. Einführung in Python. Gruppe: 1 Autoren: Thomas Merkel (19868) David Höss (19182) Stefan Bisinger (19227)

CSS-Grundlagen. Etwas über Browser. Kapitel. Die Vorbereitung

Kapitel 6,»Objektorientierte Programmierung«, widmet sich der objektorientierten Programmierung mit Python.

Programmieren mit Python in der Sek. 1

Python Installation. 1 Vorbereitung. 1.1 Download. Diese Anleitung ist für Windows ausgelegt.

Karten für MapSource (neu: BaseCamp) und Garmin-GPS-Geräte

Version 0.3. Installation von MinGW und Eclipse CDT

Wo finde ich die Software? - Jedem ProLiant Server liegt eine Management CD bei. - Über die Internetseite

Objektorientierte Programmierung für Anfänger am Beispiel PHP

Ein Blick voraus. des Autors von C++: Bjarne Stroustrup Conrad Kobsch

ecaros-update 8.2 Update 8.2 procar informatik AG 1 Stand: DP 02/2014 Eschenweg Weiterstadt

Multimedia im Netz Wintersemester 2011/12

Xcode/Cocoa/Objective-C Crashkurs Programmieren unter Mac OS X

SMART Newsletter Education Solutions April 2015

L10N-Manager 3. Netzwerktreffen der Hochschulübersetzer/i nnen Mannheim 10. Mai 2016

Beruflichen Schule in Nidda

Step by Step Webserver unter Windows Server von Christian Bartl

Was ist PDF? Portable Document Format, von Adobe Systems entwickelt Multiplattformfähigkeit,

Produktvorstellung: CMS System / dynamische Webseiten. 1. Vorwort

Liesmich zum Kurs: Programmieren in der Bioinformatik mit Perl Konfigurierung der Programmierumgebung

Windows 7: Neue Funktionen im praktischen Einsatz - Die neue Taskleiste nutzen

Workshop 6. Einführung in die objektorientierte Programmierung. Teil: Java mit BlueJ

Was meinen die Leute eigentlich mit: Grexit?

Was ich als Bürgermeister für Lübbecke tun möchte

ACHTUNG: Es können gpx-dateien und mit dem GP7 aufgezeichnete trc-dateien umgewandelt werden.

Einführung in die Informatik II

C++11 C++14 Kapitel Doppelseite Übungen Musterlösungen Anhang

FL1 Hosting FAQ. FL1 Hosting FAQ. V1.0 (ersetzt alle früheren Versionen) Gültig ab: 18. Oktober Telecom Liechtenstein AG

! " # $ " % & Nicki Wruck worldwidewruck

Verwendung von QR-Codes zum Teilen von digitalen Rezepten in Printmedien mittels der Recipe Packaging Toolbox von My Own Cookbook

Ebenenmasken Grundlagen

Blumen-bienen-Bären Academy. Kurzanleitung für Google Keyword Planer + Google Trends

Herzlich willkommen zur Lehrveranstaltung. Softwaretechnische Grundlagen / Programmierpraktikum

Informatik Java-Programmierkurs im Rahmen der Berufs- u. Studienorientierung für Schüler. Joliot-Curie-Gymnasium GR 2010 Nico Steinbach

Installation und Inbetriebnahme von Microsoft Visual C Express

SF-RB. Modul Provisionsabrechnung & Planung Reiseagentenprovisionsabrechnung & Planung. SF-Software Touristiksoftware

BEWERBERPROFILE. Erstellung einer Firmenwebseite Mustermann GmbH MUSTERPROFILE. Alle Studenten, Referenzen und Webseiten sind frei erfunden.

Worum geht es in diesem Projekt?

Einführung in Eclipse und Java

INHALT. 2. Zentrale Verwaltung von NT-, und 2003-Domänen. 3. Schnelle und sichere Fernsteuerung von Servern und Arbeitsstationen

Grundbegriffe der Informatik

Hilfe-Blatt: Ausgabenkontrolle

Übung - Datensicherung und Wiederherstellung in Windows Vista

HP Software Patch- und Version-Notification

Binär Codierte Dezimalzahlen (BCD-Code)

Funktionales Programmieren in Python

WordPress lokal mit Xaamp installieren

Festplatte defragmentieren Internetspuren und temporäre Dateien löschen

In diesem Tutorial lernen Sie, wie Sie einen Termin erfassen und verschiedene Einstellungen zu einem Termin vornehmen können.

Tutorium Rechnerorganisation

Die Invaliden-Versicherung ändert sich

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

Programmieren 3. Programmieren in C und Python. Prof. Dr. Peter Barth. Hochschule RheinMain. Fachbereich Design Informatik Medien.

SEMINAR Modifikation für die Nutzung des Community Builders

Tutorial Moodle 2 globale Gruppen bzw. Kohorten

Eprog Starthilfe. 5. Oktober Einleitung 2

Entwicklung des Dentalmarktes in 2010 und Papier versus Plastik.

Schritte 4. Lesetexte 13. Kosten für ein Girokonto vergleichen. 1. Was passt? Ordnen Sie zu.

Grundlagen von Python

Das EDV-Cockpit mit MindManager für SharePoint

Leichte-Sprache-Bilder

Softwaretests in Visual Studio 2010 Ultimate Vergleich mit Java-Testwerkzeugen. Alexander Schunk Marcel Teuber Henry Trobisch

Programmieren I. Administratives / Java Installation. Thomas Vetter, Brian Amberg, Andreas Forster. 21. September 2010 UNIVERSITÄT BASEL

C++ mit. Microsoft Visual C Richard Kaiser. Einführung in Standard-C++-, C++/CLI und die objektorientierte Windows.

Installationsanleitung für Visual Studio Express

Programmieren in Haskell Einführung

Installation der SAS Foundation Software auf Windows

Einrichtung eines Zugangs mit einer HBCI-Chipkarte bei der Commerzbank

Lektion Sicher surfen. Internetanschluss für alle von 9 bis 99 Jahren. Deze iconen tonen aan voor wie het document is

InfoPoint vom 9. November 2011

Memeo Instant Backup Kurzleitfaden. Schritt 1: Richten Sie Ihr kostenloses Memeo-Konto ein

impact ordering Info Produktkonfigurator

DAVID: und David vom Deutschlandlabor. Wir beantworten Fragen zu Deutschland und den Deutschen.

Fotostammtisch-Schaumburg

Computeria Solothurn

Linux und Eclipse Einführung SysArch Tutoren WS 2008/2009 Atanas Dimitrov, Johannes Weiss

Warum FB Werbung? Mehr als ein Viertel des gesamten Traffics auf Webseiten kommt über Facebook (!)

Prinzipien Objektorientierter Programmierung

Mobile Fundraising. Praxisbeispiele. Katja Prescher Fundraiserin, Marketing- und Kommunikationsexpertin. Mobile Fundraising Katja Prescher

Transkript:

1. Was ist Python? Albert-Ludwigs-Universität Freiburg KI-Praktikum, Sommersemester 2009

Was ist Python? Kurz: Python ist eine objektorientierte Skriptsprache. Ausführlicher: Python ist eine... objektorientierte, dynamisch getypte, interpretierte und interaktive High-Level-Programmiersprache. Mehr zu diesen Eigenschaften später.

Zur Geschichte Pythons Ursprünglich entwickelt von Guido van Rossum im Rahmen eines Forschungsprojekts am Centrum voor Wiskunde en Informatica in Amsterdam. Entwickelt seit 1989, erste öffentliche Version 1991. Meilensteine: Versionen 1.0.0 (1994), 1.5 (1998), 2.0 (2000), 3.0 (2008) Mittlerweile wird Python als Open-Source-Projekt von der Allgemeinheit weiterentwickelt, wobei ein innerer Kern die meiste Arbeit übernimmt. Guido van Rossum hat als BDFL (benevolent dictator for life, gütiger Diktator auf Lebenszeit) das letzte Wort.

Zum Namen Python ist nicht nach einem Reptil benannt, sondern nach Monty Python s Flying Circus, einer (hoffentlich!) bekannten englischen Komikertruppe aus den 1970ern. Daher auch viele Namen von Tools rund um Python: IDLE Eric Bicycle Repair Man Grail Wo andere Programmiersprachen die Variablen foo und bar verwenden, wählt man in Python gerne spam und egg.

Vergleich von Python mit anderen Programmiersprachen C, C++, Java Perl PHP LISP

Python vs. C, C++, Java Python hat gegenüber der C-Familie einen deutlich höheren Abstraktionsgrad ( weiter weg von der Maschine ): Automatische Speicherverwaltung Unbeschränkte Ganzzahlarithmetik Eingebaute komplexe Datentypen: list, dict, tuple Funktionen höherer Ordnung: map, filter, reduce Alles ist ein Objekt Alles ist dynamisch: Metaklassen und Metaprogrammierung Im Vergleich zu Sprachen aus der C-Familie sind Python-Programme: kürzer lesbarer portabler langsamer

Python vs. Perl Gemeinsamkeiten: ursprüngliches Anwendungsgebiet: Unix-Scripting ähnlicher Abstraktionsgrad dynamisch getypt Unterschiede: Perl There s more than one way to do it. viele Abkürzungen sehr kompakt schwach getypt: 2+"foo" = 2 im Wesentlichen prozedural auf Scripting zugeschnitten Python There should be one, and preferably only one, obvious way to do it. wenige Spezialfälle sehr lesbar stark getypt: 2+"foo" = Fehler objekt-orientiert allgemein konzipiert

Python vs. PHP Gemeinsamkeiten: ähnlicher Abstraktionsgrad dynamisch getypt Unterschiede: PHP Auf dynamische Webseiten zugeschnitten. viele automatische Dinge ein globaler Namensraum im Wesentlichen prozedural C-artige Syntax Python Als allgemeine Programmiersprache konzipiert. Explicit is better than implicit. Module und Namensräume objekt-orientiert keine C-artige Syntax

Python vs. LISP Fundamental unterschiedliche Syntax: LISP (defun factorial (n) (if (<= n 1) 1 (* n (factorial (- n 1))) )) Python def factorial(n): if n <= 1: return 1 else: return n * factorial(n-1) Viele Gemeinsamkeiten im Kern : Python for Lisp Programmers, http://www.norvig.com/python-lisp.html

Python-Ressourcen Online-Dokumentation IDEs & Editoren Internet-Ressourcen Bücher

Online-Dokumentation von Python Einstiegspunkt: http://docs.python.org/ Besonders wichtig/interessant: am Anfang das Tutorial (http://docs.python.org/tutorial/index.html) im Programmieralltag die Library Reference (http://docs.python.org/library/index.html)

IDEs für Python IDLE ist die bei Python mitgelieferte IDE. Boa Constructor und PythonWin (nur Windows) sind weitere freie IDEs. Black Adder, Komodo und Wing IDE sind populäre kommerzielle Python-IDEs. Für Visual Studio (nur Windows) gibt es ein Python-Plugin. Für Eclipse ebenfalls (Pydev).

Editoren für Python XEmacs und GNU Emacs haben einen mitgelieferten Python-Modus, der automatisch verfügbar ist. Für GNU Emacs gibt es sogar zwei. Der aus meiner Sicht bessere ist der nicht vorinstallierte. Unter Debian/Ubuntu: sudo apt-get install python-mode. vim und gvim unterstützen Python gut und können in Python programmiert werden. jedit und Leo unterstützen Python sehr gut. Im Folgenden alle Beispiele unter Linux mit XEmacs.

Offizielle Internet-Ressourcen zu Python Offizielle Website: http://www.python.org/ interessant dort zum Beispiel: Dokumentation, Python FAQs, Python Wiki, PEPs, Python Package Index Newsgroups: comp.lang.python comp.lang.python.announce Mailingliste: python-dev: siehe http://mail.python.org/mailman/listinfo/python-dev Newsgroup-Interface über http://www.gmane.org/

Bücher zu Python (aus Papier) Alex Martelli: Python in a Nutshell Alles, was man wissen muss. Für Fortgeschrittene. Aktuelle Auflage (2006) behandelt Python 2.5. Alex Martelli, Anna Martelli Ravenscroft und David Ascher: Python Cookbook Codebeispiele. Sehr nützlich. Aktuelle Auflage (2005) behandelt Python 2.4. Mark Lutz und David Ascher: Learning Python Guter Ruf, ich kenne es nicht. Für Einsteiger. Aktuelle Auflage (2007) behandelt Python 2.6. Deutsch als Einführung in Python (alte Auflage).... viele andere (nennenswert vielleicht noch Programming Python) Alle erwähnten Bücher sind im O Reilly-Verlag erschienen.

Online-Bücher zu Python Zwei kostenlose Online-Bücher zu Python: Mark Pilgrim: Dive into Python http://diveintopython.org/ Für erfahrenere Programmiere. Auch käuflich zu erwerben. Allen Downey, Jeff Elkner und Chris Meyers: How to Think Like a Computer Scientist http://www.greenteapress.com/thinkpython/thinkcspy/ Für Programmieranfänger. Spätere Auflagen käuflich zu erwerben.