Python: Unterschied zwischen den Versionen

Aus Geoinformation HSR
Wechseln zu: Navigation, Suche
(Python installieren und editieren)
K (Python-Editoren und IDEs)
 
(33 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
 
Python ist eine universelle höhere Programmiersprache. Das Charakteristische an Python ist die Einrückung von Codeblöcken, was die Programmlesbarkeit erhöht. Mit Python kann man sowohl objektorientiert als auch prozedural (funktional) programmieren. Wie andere dynamische Sprachen, wird Python oft als Skriptsprache genutzt, beispielsweise in Office-Software (OpenOffice.org), Grafikprogrammen (Blender, Cinema 4D, Maya, GIMP) und in der Statistiksoftware SPSS - und nicht zuletzt in [[QGIS]] und [[ArcGIS]].
 
Python ist eine universelle höhere Programmiersprache. Das Charakteristische an Python ist die Einrückung von Codeblöcken, was die Programmlesbarkeit erhöht. Mit Python kann man sowohl objektorientiert als auch prozedural (funktional) programmieren. Wie andere dynamische Sprachen, wird Python oft als Skriptsprache genutzt, beispielsweise in Office-Software (OpenOffice.org), Grafikprogrammen (Blender, Cinema 4D, Maya, GIMP) und in der Statistiksoftware SPSS - und nicht zuletzt in [[QGIS]] und [[ArcGIS]].
  
Siehe auch [[GISpunkt-Seminare]].
+
Siehe auch [[Python - Tipps und Tricks]] und [[Kurse]].
  
 
== Dokumentation ==
 
== Dokumentation ==
  
Online-Dokumentation für Neueinsteiger:
+
Python Weblinks:
 +
* http://www.python.org
 +
* http://www.zope.com/
 +
* http://www.pythonlabs.com/
 +
* [http://www.vex.net/parnassus/ Vaults of Parnassus: Python Resources]
 +
* '''[http://michaelgoerz.net/refcards/python_refcard.pdf Python 2.5 Reference Card]''' by  Michael Goerz (2009).
 +
 
 +
Online-Lernmaterial für Neueinsteiger:
 
* [http://www.freenetpages.co.uk/hp/alan.gauld/german/index.htm "Programmieren lernen" von Alan Gauld]
 
* [http://www.freenetpages.co.uk/hp/alan.gauld/german/index.htm "Programmieren lernen" von Alan Gauld]
 
* [http://abop-german.berlios.de/ "A Byte of Python" (deutsche Übersetzung) - Original-Version von Swaroop C H]
 
* [http://abop-german.berlios.de/ "A Byte of Python" (deutsche Übersetzung) - Original-Version von Swaroop C H]
 
* [http://code.google.com/intl/de-DE/edu/languages/google-python-class/ Google's Python Class] - An online introduction to Python programming, including writen materials, lecture videos, and coding exercises.
 
* [http://code.google.com/intl/de-DE/edu/languages/google-python-class/ Google's Python Class] - An online introduction to Python programming, including writen materials, lecture videos, and coding exercises.
  
=== Bücher ===
+
== Online-Bücher und -Artikel ==
Python:
+
 
* für Einsteiger:
+
Online-Bücher:
 +
* für Einsteiger (empfohlen):
 
** ''Python for Software Design - How to Think Like a Computer Scientist'' by Allen B. Downey, [http://www.greenteapress.com/thinkpython/ Online-Version] - Gute Erklärung der Python-Grundlagen
 
** ''Python for Software Design - How to Think Like a Computer Scientist'' by Allen B. Downey, [http://www.greenteapress.com/thinkpython/ Online-Version] - Gute Erklärung der Python-Grundlagen
 
** ''Learning Python'', Mark Lutz - Ein gutes Buch für Pythonanfänger.
 
** ''Learning Python'', Mark Lutz - Ein gutes Buch für Pythonanfänger.
** ''Head First Programming Python'', Griffiths, David und Paul Barry - Zu verspieltes Layout, zu grosse Bilder.
 
** ''Python for Dummies'', Maruch Stef und Aahz Maruch: - guter Aufbau, Icon für Tipps ect..
 
* verschiedenes:
 
 
** ''Dive into Python'' - [http://www.diveintopython.org/ Online-Version] - Für Fortgeschrittene oder Umsteiger, beinhaltet interessante Zusatzthemen wie Web Services.
 
** ''Dive into Python'' - [http://www.diveintopython.org/ Online-Version] - Für Fortgeschrittene oder Umsteiger, beinhaltet interessante Zusatzthemen wie Web Services.
 +
** ''Python for Dummies'', Maruch Stef und Aahz Maruch: - guter Aufbau, Icon für Tipps etc..
 +
* für Einsteiger (weitere):
 +
** [http://learnpythonthehardway.org/static/LearnPythonTheHardWay.pdf Learn Python The Hard Way] (.pdf)
 +
** [http://www.freenetpages.co.uk/hp/alan.gauld/ Learning to program]
 +
** [http://www.greenteapress.com/thinkpython/ How to Think Like a Computer Scientist]
 +
** [http://www.mindview.net/Books/TIPython Thinking in Python] - Bruce Eckel's Mindview
 +
** [http://www.galileocomputing.de/openbook/python/ Das umfassende Handbuch] - Galileo Design Openbook (Python 2.5?)
 +
** (''Head First Programming Python'', Griffiths, David und Paul Barry - Zu verspieltes Layout, zu grosse Bilder).
 +
* Zum Nachschlagen:
 
** ''Python in a Nutshell'', Martelli Alex - Gutes Buch, umfangreiche Beschreibung
 
** ''Python in a Nutshell'', Martelli Alex - Gutes Buch, umfangreiche Beschreibung
 
** ''Python Essential Reference'', David M. Beazley - Gute Python Referenz.
 
** ''Python Essential Reference'', David M. Beazley - Gute Python Referenz.
  
Python zusammen mit weiteren Technologien:
+
Online-Artikel:
* ''Rapid GUI Programming with Python and Qt'', Summerfield, Mark - Gutes Buch zu PyQt 4, Python und QT wird auch erklärt.
+
* [http://devshed.com/Server_Side/Python All about Python] auf Devshed.com
 +
* [http://www.devarticles.com/art/1/299 Python: the other Scripting Language that starts with "P"] auf devArticles.com
 +
* [http://www.hotscripts.com/Python/ The Python Section] auf Hotscripts.com
  
== Python installieren und editieren ==
+
== Python installieren ==
  
=== Installation Python ===
 
 
Installation Python unter Windows:
 
Installation Python unter Windows:
 
* Installiere Python mit dem MSI-Installer. Die stabilste Windows Version ist Python 2.6.4. Hier der Link zum Installer: http://www.python.org/ftp/python/2.6.4/python-2.6.4.msi
 
* Installiere Python mit dem MSI-Installer. Die stabilste Windows Version ist Python 2.6.4. Hier der Link zum Installer: http://www.python.org/ftp/python/2.6.4/python-2.6.4.msi
Zeile 40: Zeile 55:
 
* Für andere Systeme, bilde Python über die Sourcen. http://www.python.org/download/
 
* Für andere Systeme, bilde Python über die Sourcen. http://www.python.org/download/
  
=== Python-Editoren und IDEs ===
+
== Python-Editoren und IDEs ==
  
Zum Editieren und als Entwicklungsumgebung (integrated development environments, IDE) empfehlen wir Eclipse mit pyDev:
+
Zum Editieren und als Entwicklungsumgebung (integrated development environments, IDE) empfehlen wir '''PyCharm''' oder '''PyDev''' (mit Eclipse oder Aptana Studio).
* Eclipse mit pyDev-Plugin: (Unix, Windows, Mac OS X), vollständige IDE u.a. mit Code-Vervollständigung und Refactoring.
+
* PyDev for Eclipse : (Unix, Windows, Mac OS X), vollständige IDE u.a. mit Code-Vervollständigung und Refactoring.
 
** Installation: http://eclipse.org und http://pydev.org/manual_101_install.html
 
** Installation: http://eclipse.org und http://pydev.org/manual_101_install.html
** Python Development with PyDev and Eclipse - [http://www.vogella.de/articles/Python/article.html Tutorial]
+
** [http://www.vogella.de/articles/Python/article.html Tutorial]
 +
* PyDev for Aptana Studio: http://aptana.com/products/studio2 (Python highlighting fehlt).
 +
* Multiplatform (Unix, Windows, Mac OS X):
 +
** PyCharm IDE: [http://www.jetbrains.com/pycharm/]. Multiplatform. Sehr gute IDE mit Refactoring etc. (von den Machern der etablierten IntelliJ Java IDE aus Tschechien), aber kommerziell mit 30-Tage Trial bzw. mit freier akad. Lizenz.
 +
** JpyDbg for Netbeans: http://jpydbg.sourceforge.net/
 +
** PythonWin (Windows only): mit Debugger, keine Code-Vervollständigung, oft mit grösseren Paketen dabei (z.B. ArcGIS).
  
Ansonsten haben wir über folgende Editoren gutes gehört (und gelesen):  
+
Ansonsten haben wir über folgende Editoren Gutes gehört und gelesen:  
* Eric4: Einfach und doch viele Funktionen, selber in Python geschrieben. Etwas aufwändig zu installieren. http://eric-ide.python-projects.org/
+
* www.pythonanywhere.com
* SPE IDE - Stani's Python Editor: http://pythonide.blogspot.com/
+
* Weitere Editoren:
* PythonWin (Windows only): mit Debugger, bei ArcGIS-User verbreitet, keine Code-Vervollständigung.  
+
** IDLE: Im Python-Paket enthaltener Editor. Etwas gewöhnungsbedürftig, aber mit vielen Features wie: syntax highlighting, autocompletion und debugging.
* IDLE: Im Python-Paket enthaltener Editor. Etwas gewöhnungsbedürftig, aber mit vielen Features wie: syntax highlighting, autocompletion und debugging.
+
** eric4 (für Python 2) und eric5 (für Python 3): Einfach und doch viele Funktionen, in Python und Qt geschrieben. Etwas aufwändig zu installieren, da nebst Python Qt, PyQT sowie QSintilla vorausgesetzt wird. http://eric-ide.python-projects.org/
* PyPE: Übersichtlicher Editor. http://pype.sourceforge.net/index.shtml
+
** Komodo Edit: Open Source-Version von "Komodo IDE". http://www.activestate.com/komodo_edit/
 +
** PyScripter - http://code.google.com/p/pyscripter/wiki/PyScripter
 +
** SPE IDE - Stani's Python Editor: http://pythonide.blogspot.com/
 
* Text/Programmier-Editoren;
 
* Text/Programmier-Editoren;
** JEdit mit JpyDbg-Plugin: einfacher Editor mit Python-Plugin. http://jedit.org
+
** JEdit mit JpyDbg-Plugin: Umfangreicher Programmier-Editor mit Python-Plugin. http://jedit.org
** Komodo Edit (Unix, Windows, Mac OS X): Open Source-Version von "Komodo IDE". http://www.activestate.com/komodo_edit/
+
* Veraltet:
** (Spyder - http://packages.python.org/spyder/editor.html - Multilanguage Editor)
+
** PyPE: Übersichtlicher Editor. http://pype.sourceforge.net/ (last update 2009-12-29!)
  
== Python und Webframeworks ==  
+
== Python Programming... ==
  
* GeoDjango: GIS-Erweiterung des Webframeworks Django. Ermöglicht die Verwaltung von Geodaten und dadurch die Erfassung von Objekten direkt im Browser.
+
Webframeworks:
 +
* [http://geodjango.org/ GeoDjango]: GIS-Erweiterung des Webframeworks Django. Ermöglicht die Verwaltung von Geodaten und dadurch die Erfassung von Objekten direkt im Browser.
 +
 
 +
Python Documentation Tools:
 +
* [http://sphinx.pocoo.org/ Sphinx] (u.a. verwendet in FeatureServer)
  
 
== Python und GIS-Desktop-Systeme ==
 
== Python und GIS-Desktop-Systeme ==
Zeile 78: Zeile 104:
 
== Geoprocessing mit Python ==
 
== Geoprocessing mit Python ==
  
Geoprocessing mit Python:
+
Siehe [[Geoprocessing mit Python]].
* Geoprocessing mit Python und PostGIS.
 
* Geoprocessing mit Python und Open Source GIS: Siehe z.B. Vorlesung "Geoprocessing with Python using Open Source GIS" by Chris Garrard, Utah State University, [http://www.gis.usu.edu/~chrisg/python/].
 
 
 
Web Processing Services ([[WPS]]):
 
* PyWPS Web Processing Service ([http://pywps.wald.intevation.org/documentation/]): PyWPS is a Python program which implements the OGC [[WPS]] 1.0.0 standard (with a few omissions). PyWPS has a low footprint, making it easy to install. Python was considered a good choice of implementation language as it is a very easy language to develop in and allows partners to easily integrate existing processing which may have been written in other languages.  
 
* WebProcessingServer ([http://code.google.com/p/webprocessingserver/])
 
  
 
== Weblinks ==
 
== Weblinks ==
Zeile 90: Zeile 110:
 
* The official website for the Python language: [http://www.python.org/doc/ python.org]
 
* The official website for the Python language: [http://www.python.org/doc/ python.org]
 
* [http://www.python.org/doc/current/tutorial/ The Python Tutorial]
 
* [http://www.python.org/doc/current/tutorial/ The Python Tutorial]
 +
 +
[[Kategorie:Python]]

Aktuelle Version vom 6. April 2015, 01:01 Uhr

Python ist eine universelle höhere Programmiersprache. Das Charakteristische an Python ist die Einrückung von Codeblöcken, was die Programmlesbarkeit erhöht. Mit Python kann man sowohl objektorientiert als auch prozedural (funktional) programmieren. Wie andere dynamische Sprachen, wird Python oft als Skriptsprache genutzt, beispielsweise in Office-Software (OpenOffice.org), Grafikprogrammen (Blender, Cinema 4D, Maya, GIMP) und in der Statistiksoftware SPSS - und nicht zuletzt in QGIS und ArcGIS.

Siehe auch Python - Tipps und Tricks und Kurse.

Dokumentation

Python Weblinks:

Online-Lernmaterial für Neueinsteiger:

Online-Bücher und -Artikel

Online-Bücher:

  • für Einsteiger (empfohlen):
    • Python for Software Design - How to Think Like a Computer Scientist by Allen B. Downey, Online-Version - Gute Erklärung der Python-Grundlagen
    • Learning Python, Mark Lutz - Ein gutes Buch für Pythonanfänger.
    • Dive into Python - Online-Version - Für Fortgeschrittene oder Umsteiger, beinhaltet interessante Zusatzthemen wie Web Services.
    • Python for Dummies, Maruch Stef und Aahz Maruch: - guter Aufbau, Icon für Tipps etc..
  • für Einsteiger (weitere):
  • Zum Nachschlagen:
    • Python in a Nutshell, Martelli Alex - Gutes Buch, umfangreiche Beschreibung
    • Python Essential Reference, David M. Beazley - Gute Python Referenz.

Online-Artikel:

Python installieren

Installation Python unter Windows:

Installation Python unter Unix:

Python-Editoren und IDEs

Zum Editieren und als Entwicklungsumgebung (integrated development environments, IDE) empfehlen wir PyCharm oder PyDev (mit Eclipse oder Aptana Studio).

  • PyDev for Eclipse : (Unix, Windows, Mac OS X), vollständige IDE u.a. mit Code-Vervollständigung und Refactoring.
  • PyDev for Aptana Studio: http://aptana.com/products/studio2 (Python highlighting fehlt).
  • Multiplatform (Unix, Windows, Mac OS X):
    • PyCharm IDE: [1]. Multiplatform. Sehr gute IDE mit Refactoring etc. (von den Machern der etablierten IntelliJ Java IDE aus Tschechien), aber kommerziell mit 30-Tage Trial bzw. mit freier akad. Lizenz.
    • JpyDbg for Netbeans: http://jpydbg.sourceforge.net/
    • PythonWin (Windows only): mit Debugger, keine Code-Vervollständigung, oft mit grösseren Paketen dabei (z.B. ArcGIS).

Ansonsten haben wir über folgende Editoren Gutes gehört und gelesen:

Python Programming...

Webframeworks:

  • GeoDjango: GIS-Erweiterung des Webframeworks Django. Ermöglicht die Verwaltung von Geodaten und dadurch die Erfassung von Objekten direkt im Browser.

Python Documentation Tools:

  • Sphinx (u.a. verwendet in FeatureServer)

Python und GIS-Desktop-Systeme

Python-Programmierung mit QGIS:

Python-Programmierung mit ArcGIS:

Geoprocessing with Python using Open Source GIS:

Geoprocessing mit Python

Siehe Geoprocessing mit Python.

Weblinks