Programmieren in Python

Ähnliche Dokumente
Programmieren in Python

Informatik I. Informatik I 16. Dezember Erste Schritte in Python Motivation Motivation Ausdrücke

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

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

Einführung in die Programmiersprache Python

Python Zahlen, Strings Logik Kontrollstrukturen. Scriptsprachen. Python Basics. Sascha Winter

Python zur Lösung von AvA Übung 1 VON MORITZ FEY

Algorithmen und Programmieren II Einführung in Python

Toolbox Workshop. PeP et al. Toolbox Workshop. PeP et al. e.v. Physikstudierende und ehemalige Physikstudierende

Guile Die Erweiterungssprache des GNU-Projekts

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

Programmierkurs für das modularisierte Lehramt. September 2011, 8. Vorlesung. Stuttgart, den 22. September Dr. Heiko Schulz.

Grundlagen. Felix Döring, Felix Wittwer 24. April Python-Kurs

Einführung in Python

Informatik I: Einführung in die Programmierung

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

Programmierkonzepte in der Physikalischen Chemie

Thomas Sillmann. Swift im Detail HANSER

Algorithmik kontinuierlicher Systeme. Einführung in Python

Skriptsprachen am Beispiel Python

Programmieren in Python

1 Allgemeines. Informatik I: Einführung in die Programmierung 2. Erste Schritte in Python. Die Programmiersprache Python... Programmiersprachen

Paketverwaltung und wichtige FOSS-Anwendungen

Internet. HTML Programmierung Grundlagen HTML Programmierung für Fortgeschrittene CGI Programmierung PHP Programmierung Programmieren mit JavaScript

Liste MI / Liste I Programmieren in C++

Informatik I: Einführung in die Programmierung

Programmieren in Python 3. Variablen, Funktionen und Bedingungen

Python für Wissenschaftler

Programmieren in Python

Objektorientiertes Programmieren II

Informatik I: Einführung in die Programmierung

Kurz-Einführung Python

Telecooperation/RBG. Grundlagen der Informatik I Thema 0: Einführung. Dr. Guido Rößling. Copyrighted material; for TUD student use only

Skriptsprachen: Python

Sieben Wochen, sieben Sprachen

Gültigkeitsbereich. T. Neckel Einführung in die wissenschaftliche Programmierung IN8008 Wintersemester 2016/

A2.1 Python. Algorithmen und Datenstrukturen. Algorithmen und Datenstrukturen. A2.1 Python. A2.2 Kurzer Sprachüberblick. A2.3 Selectionsort in Python

Algorithmen und Datenstrukturen

Funktionales Programmieren in Python

Ursprünge. Die Syntax von Java. Das Wichtigste in Kürze. Konsequenzen. Weiteres Vorgehen. Rund um Java

Regular Expressions. Daniel Lutz Was ist eine Regular Expression?

Python als praktischer Helfer

Einheit 1. Einführung in R. IFAS JKU Linz c 2018 Programmieren mit Statistischer Software 1 0 / 11

Einführung in die Programmierung mit VBA

Literatur und Links. Webtechnologien SS 2017 Teil 1/Entwicklung

Namespace Packages. Martin v. Löwis. Freitag, 18. Mai 12

Webtechnologien Teil 1: Entwicklungsumgebung(en)

(Building) Flexible Functional Programming Interfaces. Von Amos Treiber

Inhalt. n Algorithmus. n Euklidscher Algorithmus. n Sortieren. n Programmiersprachen. n Entwicklungsschritte eines Programms.

TypeScript JavaScript mit ohne Kopfschmerzen. Veit Weber 3. JUG Saxony Day Radebeul

Ausnahmen-Behandlung

Programmieren in Python

Virtuelle Realität und Simulation - Übung 2

Die Syntax von Java. Ursprünge. Konsequenzen. Das Wichtigste in Kürze. Weiteres Vorgehen. Rund um Java. Sun Microsystems. Borland Software Corp

Programmierkurs Python I

Crashkurs Python und Sage U23 Krypto-Mission

grep kurz & gut John Bambenek and Agnieszka Klus

1. Einführung Einführung in die Programmierung (fbw) Sommersemester 2008 Prof. Dr. Bernhard Humm Hochschule Darmstadt, fbi

Dynamische Programmiersprachen. David Schneider STUPS

Perlkurs WS 2014/15: 08 Referenzen

Alles außer Java! JVM-Sprachen sagen Happy Birthday

Literatur und Links. Webtechnologien WS 2017/18 Teil 1/Entwicklung

Einführung in das Natural Language Toolkit

Technische Infor matik 2 C/C++-Kurs. Arbeitsumgebung AG Rechner netze 1.1

Grundlagen Internet-Technologien. Clientseitige Web-Programmierung

Liste Programmieren - Java

Regeln von Computerspielen werden klassischerweise im Quellcode festgelegt.

Python Einführung. Monica Selva Soto. 24 März Mathematisches Institut

Ezient Arbeiten mit GNU/Emacs

Eine kurze Kurz-Einführung in Python

Python so macht Programmieren Spass

Objektorientiertes Programmieren III

1 def Anweisung. 2 Argumentübergabe. 3 Lokale Variablen. 4 Default Argumente. 5 Aufruf mit Schlüsselwort. 6 Variable Argumente. Funktionen in Python

Funktionen in Python

PHP 6 Beliebte Webskriptsprache wird erwachsen. Linux User Group Bern René Moser <mail@renemoser.net>

MIT3 Serverseitige Programmierung. Claudius Coenen

Informatik I: Einführung in die Programmierung

Programmieren in C. Eine Einführung in die Programmiersprache C. Prof. Dr. Nikolaus Wulff

Python VS Perl. Storage Monitoring per API statt SNMP. Björn Müller Marcel Denia. comnet GmbH

Con guration as Code Über Ansible Ansible Grundlagen Live Demo Weitere Informationen

1.3.1 Java-Compiler installieren

Dynamische Webseiten mit PHP. Oder: LAMP - The open way

Weborientierte Programmiersprachen am Beispiel PHP

LISP. Viele eklige Klammern. Entropia e.v. - CCC Karlsruhe

vim text editing at the speed of thought

Anatomie eines Compilers am Beispiel von Pugs

Funktionen in Python

Informatik II Übung 7 Gruppe 7

Tobias Kühne Seite 1; Seminar Javabasierte Webtechnologien. Wikis

Vorlesung Programmieren

III.1 Prinzipien der funktionalen Programmierung - 1 -

Linux Kernel Hacking

Anwender- dokumentation

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

Transkript:

1. Was ist Python? Albert-Ludwigs-Universität Freiburg Handlungsplanungs-Praktikum Wintersemester 2010/2011

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, 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 objektorientiert 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 objektorientiert 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/py3k/ Besonders wichtig/interessant: am Anfang das Tutorial (http://docs.python.org/py3k/tutorial/index.html) im Programmieralltag die Library Reference (http://docs.python.org/py3k/library/index.html)

IDEs für Python IDLE ist die Standard-IDE für Python. Eric ist eine weitere beliebte freie IDE. Komodo und Wing sind populäre kommerzielle Python-IDEs. Für Eclipse gibt es ein Python-Plugin: 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 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.

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 Mailinglisten: python-dev: siehe http://mail.python.org/mailman/listinfo/python-dev python-ideas: siehe http://mail.python.org/mailman/listinfo/python-ideas 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: Learning Python Guter Ruf. Für Einsteiger. Aktuelle Auflage (2009) behandelt Python 2.6 und 3.0. Deutsch als Einführung in Python (alte Auflage).... viele andere Alle erwähnten Bücher sind im O Reilly-Verlag erschienen.

Online-Bücher zu Python Drei kostenlose Online-Bücher zu Python: Mark Pilgrim: Dive Into Python 3 http://diveintopython3.org/ Für erfahrenere Programmierer. Auf dem Stand von 2010. Allen Downey, Jeffrey Elkner und Chris Meyers: How to Think Like a Computer Scientist http://www.greenteapress.com/thinkpython/thinkcspy/ Für Programmieranfänger. Auf dem Stand von 2008. Peter Kaiser und Johannes Ernesti: Python http://openbook.galileocomputing.de/python/ Für Programmieranfänger. Auf deutsch. Auf dem Stand von 2007. Alle drei Bücher sind auch gedruckt auf toten Bäumen erhältlich.