Python ist eine einfach zu erlernende, elegante, objektorientierte Sprache. Es gibt Python für Linux, Mac OS X, Windows und andere Systeme. Da in der Sprache schon relativ viele Standardmodule enthalten sind, ist es mit Python einfach, plattformunabhängig zu programmieren. Die hier verwendete MoinMoin-Wikisoftware ist in Python geschrieben.
Homepage: http://www.python.org/
Lizenz: Python License
Contents
1. Aktuelle Version
Aktuell ist seit Anfang dieses Monats (Oktober 2006) die Version 2.5.
Announcement auf der Python-Website
kann jemand über die Verbesserungen und Neuerungen berichten (z.B. with-Statement etc.?)
1.1. Installation aus den Sourcen
Gerade bei sehr neuen Paketen sind manche Distributionen nicht so schnell im Bereitstellen von Paketen. Dann installiert man aus den Sourcen wie üblich:
./configure --enable-unicode=ucs4 make make install # installiert dann nach /usr/local #make altinstall # dito, aber überschreibt "python" nicht
Vorher sollte man drauf achten, dass man auch alle *-dev-Pakete installiert hat. Z.B. zlib-dev und openssl-dev, ansonsten gibt es nachher keinen Support dafür in Python, weil configure es nicht gefunden hat. Man sollte auch drauf achten, dass man UCS4-Unicode verwendet.
2. Python 3000
Die zukünftige Version 3.0, meist auch Python 3000 oder Python 3k genannt soll auch dazu genutzt werden, um einige größere Änderungen durchzuführen, die älteren Code inkompatibel machen werden, wozu sich ein Major Release anbietet, um einige Dinge in größerem Umfang zu ändern. Die angedachten Änderungen findet man vor allem im PEP 3000 (Python Enhancement Proposal).
Außerdem gibt es einen "Google Tech Talk" (regelmäßig erscheinende Google Video - Publikation zu interesannten Themen) zu diesem Thema, von Guido van Rossum höchstpersönlich - da er der "benevolent dictator for life" bei Python ist, bekommt man hier also schon ein sehr genaues Bild
2.1. from __future__ import ...
Zu diesem Thema ist sicher auch interessant zu wissen, dass im Modul future sich in den jeweiligen Python Releases immer jene Sachen finden, die in den nächsten Versionen irgendwann mal Standard werden - gut zu wissen, und praktisch, da man dann später meist nur die import-Zeilen ersetzen muss.
3. Bücher und Tutorials
Wenn ihr Python lernen wollt, bieten sich folgende Bücher und Tutorials an:
3.1. Bücher
Python-Bücher gibt es inzwischen wie Sand am Meer. Wer kann was empfehlen?
- Python GE-PACKT
handliche Einführung im Taschenbuchformat, die auch auf dem geringen Platz erstaunlich viel bietet und auch an vielen Stellen tiefer in die Materie eintaucht. Außerdem gibt es auch praktische Performance-Tipps. Zu dem Preis von 10-20 Euro ein echtes Schnäppchen. Der Einband allerdings fällt bereits nach wenigen Tagen bis Wochen auseinander, dieser Bug ist reproduzierbar, und liegt nich am Benutzer
-- MarkusMajer
- Bücher von Mark Pilgrim
Welche Bücher könnt ihr empfehlen?
3.2. Tutorials
Einige gute Tutorials, zum Einstieg in Python.
3.2.1. deutsch
3.2.2. englisch
Das offizielle Tutorial von der Python-Website.
A Byte of Python - The perfect anti-venom to your programming problems!
Für Leute, die bereits in anderen Sprache programmieren, bietet sich vor vor allem "Dive into Python" von Mark Pilgrim an:
Dive into Python - free Python book for experienced programmers
4. Python fürs Web
Wer eine Alternative zu PHP sucht - und dazu gehört sicherlich fast jeder
- findet hier ein paar gute Links und Tipps:
Mit Spyce ist es möglich, dynamische Webseiten mit einem Mix aus Python und HTML zu erstellen, genau wie bei PHP - wenn man das denn will und nicht zu sehr umdenken mag.
Lesenswert auch die entsprechenden Seiten im Python-Wiki: WebProgramming
BTW: Google benutzt auch Python - vor allem jetzt, da Guido van Rossum bei Google arbeitet
Für einige zeitkritische Bestandteile wie die Suchabfrage an sich wird aber natürlich C benutzt.
4.1. Web(Application)Frameworks
Nach dem Hype um RubyOnRails sind kurze Zeit später auch einige Python-WebApplicationFrameworks in den Fokus gerückt:
wurde schon lange vor der Veröffentlichung des Quellcodes von den Entwicklern für große Communitseiten genutzt - wer sich anschauen will was mit Django möglich ist, und wie gut sowas skaliert, kann ja mal auf die Seite gehen für die es damals entwickelt wurde: http://www.lawrence.com/
Screencast: (etwas älter)
TurboGears (Offizielle Website)
geht einen etwas anderen Weg als Django - hier wird der Schwerpunkt darauf gelegt, möglichst bestehende Projekte wiederzuverwenden, als alles neu zu machen - z.B. Kid als Templating Engine, MochiKit als JavaScript (AJAX) Library, CherryPy als Application Server.
Screencast: Link direkt zum Quicktime-Screencast
Es gibt hier noch mehr, diese beiden sind aber sicherlich die verbreitetsten und ausgereiftesten Frameworks und stellen auch zwei verschiedene Herangehensweisen an das Thema dar.
5. IDEs
eric - qt-basierte IDE für Python und Ruby (UI erst ab 1280x... gut benutzbar)
Eclipse mit Eclipse/Plugins - Plugin namens PyDev für die "eierlegende Wollmilchsau" unter den IDE's
Spe - wx-basierte IDE für Python
Pida - IDE mal anders, richtet sich an die No-Nonsense-Programmierer
und bindet, statt alles neu zu machen, vim und diverse Versionskontrollsysteme ein (u.A. auch Mercurial oder Bazaar-NG)
6. Code-Beispiele
7. Settings für Vim
Folgendes in die .vimrc (siehe auch Vim):
syntax on set noai set tabstop=4 set expandtab set shiftwidth=4 filetype indent on
8. Links
"A Python Love Story" - Videoeinführung zu Python
FrontPage des PythonInfo-Wiki
Täglich aktualisierte Links zu Projekten und das Geschehen rund um Python
