Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Einstieg in Python

8 views
Skip to first unread message

Merlin Weisig

unread,
Jan 28, 2010, 3:52:02 PM1/28/10
to
Hallo Gemeinde,

schon lᅵnger trage ich mich mit dem Gedanken, mir autodidaktisch python
beizubringen. Projekte, die ich verwirklichen mᅵchte habe ich auch
schon, allerdings fehlt mir der konkrete Einstieg in die Sprache um mir
ein Basiswissen zu erarbeiten, auf dem ich aufbauen kann.

Da ich eher ungern manpages durcharbeite mᅵchte ich hier mal fragen, ob
jemand ein fᅵr Einsteiger bzw. blutige Anfᅵnger geeignetes,
umfangreiches und verwendbares Tutorial kennt, dass ich mir mal
vornhemen kann.

Bisher bin ich schon auf die Seite "A byte of python" gestoᅵen, was
schon recht gut veranschaulicht, worum es bei python geht und wo die
Vorteile liegen.

Eventuell gibts ja in Insiderkreisen entsprechende Seiten, die ihr fᅵr
geeignet haltet, ich mᅵchte es eigentlich vermeiden, mir im Laden ein
Buch zu kaufen, was in ein zwei oder mehr Jahren nur noch gut aussieht.

Arbeitsbasis sind ᅵbrigens Systeme auf Debian und Archlinux und ich
wᅵrde das spᅵter gern im Rahmen meiner eigenen Projekte auf die
Kommunikation mit PostgreSQL zur weiteren Unterstᅵtzung ausweiten,
vielleicht gibt es da ja auch entsprechendes...

Was kᅵnnt ihr empfehlen? Schon mal danke im Voraus!

Merlin

Stefan Behnel

unread,
Jan 28, 2010, 5:26:54 PM1/28/10
to
Hallo,

Merlin Weisig, 28.01.2010 21:52:


> schon lᅵnger trage ich mich mit dem Gedanken, mir autodidaktisch python
> beizubringen.

Dein Hintergrund bezᅵglich Programmierung wᅵre an dieser Stelle noch
interessant.

Wenn du bereits Programmiererfahrung hast, wᅵrde ich empfehlen, Python-Code
zu lesen, davon gibt's genug im Netz. Das ist sicherlich der schnellste
Einstieg. Siehe z.B. das Python Cookbook

http://code.activestate.com/recipes/langs/python/

oder such was auf

http://code.google.com/

Ansonsten gibt es das offizielle Python-Tutorial auf python.org, das so
ziemlich alles Wesentliche erklᅵrt.

Stefan

Florian Diesch

unread,
Jan 28, 2010, 9:14:01 PM1/28/10
to
Merlin Weisig <m_we...@wh2.tu-dresden.de> writes:

> Hallo Gemeinde,
>
> schon l�nger trage ich mich mit dem Gedanken, mir autodidaktisch python
> beizubringen. Projekte, die ich verwirklichen m�chte habe ich auch


> schon, allerdings fehlt mir der konkrete Einstieg in die Sprache um mir
> ein Basiswissen zu erarbeiten, auf dem ich aufbauen kann.
>

> Da ich eher ungern manpages durcharbeite m�chte ich hier mal fragen, ob
> jemand ein f�r Einsteiger bzw. blutige Anf�nger geeignetes,


> umfangreiches und verwendbares Tutorial kennt, dass ich mir mal
> vornhemen kann.

Wenn du noch keine Programmiererfahrung hast, schau mal unter
<http://wiki.python.org/moin/BeginnersGuide/NonProgrammers>

Wenn du schon mit anderen Sprachen programmierst:
<http://wiki.python.org/moin/BeginnersGuide/Programmers>

Deutsche Texte findest du unter <http://wiki.python.org/moin/GermanLanguage>


> Bisher bin ich schon auf die Seite "A byte of python" gesto�en, was


> schon recht gut veranschaulicht, worum es bei python geht und wo die
> Vorteile liegen.

Das ist f�r den Anfang sicher kleine schlechte Wahl.

Florian
--
GUIs programmieren mit Python und Glade:
<http://www.florian-diesch.de/doc/python-und-glade/>

Merlin Weisig

unread,
Jan 29, 2010, 11:05:24 AM1/29/10
to
Stefan Behnel schrieb:
> Hallo,

>
> Dein Hintergrund bezᅵglich Programmierung wᅵre an dieser Stelle noch
> interessant.
>

Hallo Stefan,

Programmierung an sich ist so eine Sache, ich weiᅵ nicht genau, was ich
dazu zᅵhlen kannst und was nicht ;-)

Groᅵ geworden bin ich in der Schule mit Basic, Pascal und spᅵter Delphi.
Davon ist allerdings nichts Brauchbares mehr hᅵngen geblieben und im
jetzigen Angesicht der Zeit aus meiner Sicht nicht mehr haltbar.
Seitdem ich im Sommer 2006 eine Radikalrevolution durchzog und von einem
Tag auf den anderen sᅵmtliche Microsoft Software von meinem Rechner
entfernte und von Null auf 100 mit Debian anfing, kam auch ein wenig
mehr Experimentierfreude und Neugier.

Nachdem ich nun die Systeme recht gut beherrsche, einen eigenen Server
betreibe und zusᅵtzlich noch ein paar Systeme betreue und warte kam die
Lust auf nach mehr. Man entdeckt schlieᅵlich Mᅵglichkeiten ;-)

Nun begann ich mich intensiv mit der Bash als meiner Haus und Hof-Shell
und ihren Mᅵglichkeiten auseinanderzusetzen, auch hier stoᅵe ich langsam
an die Grenzen der performance-technischen Mᅵglichkeiten, da die
Anwendungen langsam zu komplex werden, um rein stapelverarbeitend zu
laufen.

So dachte ich mir denn, nun ist es mal Zeit, was vernᅵnftiges anzufangen
und schaute mir PHP an... und schaute auch gleich wieder weg. :-D

Also python... u.a. auch, weil ein paar Freunde von mir die Sprache an
der Uni lernen und behaupten, sie sei einfach zu lernen, funktional und
mᅵchtig. Ein paar Schnupperversuche hab ich schon hinter mir, ich
experimentiere derzeit mit BeautifulSoup herum, das will aber nicht so
recht und ich sagte mir, dass man vielleicht auch mal etwas richtig
lernen sollte, als von jetzt auf gleich.

Genug der Worte...

Der Merlin :-)

~km

unread,
Jan 29, 2010, 3:38:43 PM1/29/10
to
On 29 Jan., 13:05, Merlin Weisig <m_wei...@wh2.tu-dresden.de> wrote:
> Stefan Behnel schrieb:
>
> > Hallo,
>
> > Dein Hintergrund bezüglich Programmierung wäre an dieser Stelle noch
> > interessant.
>
> Hallo Stefan,
>
> Programmierung an sich ist so eine Sache, ich weiß nicht genau, was ich
> dazu zählen kannst und was nicht ;-)
>
> Groß geworden bin ich in der Schule mit Basic, Pascal und später Delphi.
> Davon ist allerdings nichts Brauchbares mehr hängen geblieben und im

> jetzigen Angesicht der Zeit aus meiner Sicht nicht mehr haltbar.
> Seitdem ich im Sommer 2006 eine Radikalrevolution durchzog und von einem
> Tag auf den anderen sämtliche Microsoft Software von meinem Rechner

> entfernte und von Null auf 100 mit Debian anfing, kam auch ein wenig
> mehr Experimentierfreude und Neugier.
>
> Nachdem ich nun die Systeme recht gut beherrsche, einen eigenen Server
> betreibe und zusätzlich noch ein paar Systeme betreue und warte kam die
> Lust auf nach mehr. Man entdeckt schließlich Möglichkeiten ;-)

>
> Nun begann ich mich intensiv mit der Bash als meiner Haus und Hof-Shell
> und ihren Möglichkeiten auseinanderzusetzen, auch hier stoße ich langsam
> an die Grenzen der performance-technischen Möglichkeiten, da die

> Anwendungen langsam zu komplex werden, um rein stapelverarbeitend zu
> laufen.
>
> So dachte ich mir denn, nun ist es mal Zeit, was vernünftiges anzufangen

> und schaute mir PHP an... und schaute auch gleich wieder weg. :-D
>
> Also python... u.a. auch, weil ein paar Freunde von mir die Sprache an
> der Uni lernen und behaupten, sie sei einfach zu lernen, funktional und
> mächtig. Ein paar Schnupperversuche hab ich schon hinter mir, ich

> experimentiere derzeit mit BeautifulSoup herum, das will aber nicht so
> recht und ich sagte mir, dass man vielleicht auch mal etwas richtig
> lernen sollte, als von jetzt auf gleich.
>
> Genug der Worte...
>
> Der Merlin :-)

Hallo Merlin,

Wenn du dir etwas Gutes tun willst, dann lass' die Finger von PHP.
Python ist besser.

Wenn dich Web-Applikationen mit Python interessieren, dann kann ich
dir vielleicht zu Django_ raten. Django ist ein Framework für Web-
Applikationen mit einer relativ großen Gemeinde ständig auf der Suche
nach Python-Enthusiasten. Es gibt eine gute Auswahl an Büchern, die
den Einstieg in Django erleichtern, aber die Django Community hat ein
empfehlenswertes 4-teiliges Tutorial auf ihrer Homepage, das einen
Schnellstart bietet. Durchaus empfehlenswert.

So. Jetzt zu deinem eigentlichen Anliegen:

Also ich habe im Lauf meiner Zeit als Python-Enthusiast eine Menge
gute Bücher angehäuft; überwiegend auf Englisch. Durchaus empfehlen
für Einsteiger kann ich:
1. Learn to Program - Alan Gauld
2. Beginning Python
3. Python Cookbook - Alex Martelli & David Ascher
4. Programming Python - Mark Lutz (mein persönlicher Favorit)

Es gibt jede Menge Lektüre; und wie schon vor mir empfohlen wurde gibt
es sehr viele, gut dokumentierte Programme mit Code jederzeit
abrufbar.

.. _Django: http://www.djangoproject.com

Viel Spaß,
Kenny

Andreas Bruhn

unread,
Jan 30, 2010, 9:47:49 AM1/30/10
to
Am Fri, 29 Jan 2010 17:05:24 +0100 schrieb Merlin Weisig:

> Ein paar Schnupperversuche hab ich schon hinter mir, ich
> experimentiere derzeit mit BeautifulSoup herum, das will aber nicht
> so recht und ich sagte mir, dass man vielleicht auch mal etwas
> richtig lernen sollte, als von jetzt auf gleich.

BeautifulSoup hatte ich vor einigen Jahren bei einem Projekt auch mal
mehr oder weniger erfolgreich (wollte zuerst nicht so recht, aber
irgendwann ging es dann irgendwie) eingesetzt. Bei einem aktuellen
Projekt nutze ich jetzt lxml (genaugenomen das Modul lxml.objetify).
Vielleicht w�re das auch eine Alternative.

Zur Python-Doku: Da frage ich mich, warum noch keiner "Dive into
Python" erw�hnt hat. M�sste unter http://diveintopython.org zu finden
sein. Teilweise vielleicht nicht ganz aktuell (meine Version ist von
2004) und deswegen w�rde ich z.B. die beiden Kapitel �ber "HTML
Processing" bzw. "XML Processing" mit Vorsicht genie�en. Aber auch
wenn es von Python 2.3 ausgeht... die Grundlagen haben sich ja auch
bei Python 2.5 oder 2.6 nicht so ver�ndert.

Gr��e,
Andreas

Andreas Bruhn

unread,
Jan 30, 2010, 11:43:09 AM1/30/10
to
Am Thu, 28 Jan 2010 21:52:02 +0100 schrieb Merlin Weisig:


> Eventuell gibts ja in Insiderkreisen entsprechende Seiten, die ihr f�r
> geeignet haltet, ich m�chte es eigentlich vermeiden, mir im Laden ein


> Buch zu kaufen, was in ein zwei oder mehr Jahren nur noch gut aussieht.

Wieso eigentlich kaufen? Wenn das "tu-dresden" in der Mail-Adresse
stimmt, gibt die Bibliothek der TU nicht was her? Oder sind dort alle
B�cher verliehen?

Meine Anfangs-/Anf�ngerb�cher erw�hne ich lieber nicht, da steckt
�berall noch Python 1.5 drinnen. [Gerade mal eins aus dem Regal
gezogen und Erscheinungsjahr 1999 entdeckt. ;-)]

Gr��e,
Andreas

Stefan Behnel

unread,
Jan 30, 2010, 1:10:23 PM1/30/10
to
Andreas Bruhn, 30.01.2010 15:47:

> Zur Python-Doku: Da frage ich mich, warum noch keiner "Dive into
> Python" erwᅵhnt hat. Mᅵsste unter http://diveintopython.org zu finden

> sein. Teilweise vielleicht nicht ganz aktuell

http://diveintopython3.org/

dᅵrfte etwas aktueller sein.

Stefan

Lukas Graf

unread,
Jan 30, 2010, 1:11:46 PM1/30/10
to
Merlin Weisig wrote:

> ob jemand ein für Einsteiger bzw. blutige Anfänger geeignetes,


> umfangreiches und verwendbares Tutorial kennt, dass ich mir mal
> vornhemen kann.

Obwohl unterdessen schon recht angestaubt ist http://diveintopython.org/ für
den Schnelleinstieg IMHO immer noch gut geeignet.


Debian und Archlinux und ich

> [...] würde das später gern im Rahmen meiner eigenen Projekte auf die
> Kommunikation mit PostgreSQL zur weiteren Unterstützung ausweiten,


> vielleicht gibt es da ja auch entsprechendes...

Wenn du dich dann PostgreSQL widmen willst, würde ich mir unbedingt
SQLAlchemy ansehen, insbesondere
http://www.sqlalchemy.org/docs/ormtutorial.html

HTH,

Gruss Lukas

Merlin Weisig

unread,
Jan 30, 2010, 2:23:18 PM1/30/10
to
Andreas Bruhn schrieb:

> Am Thu, 28 Jan 2010 21:52:02 +0100 schrieb Merlin Weisig:
>
>
>> Eventuell gibts ja in Insiderkreisen entsprechende Seiten, die ihr f�r
>> geeignet haltet, ich m�chte es eigentlich vermeiden, mir im Laden ein
>> Buch zu kaufen, was in ein zwei oder mehr Jahren nur noch gut aussieht.
>
> Wieso eigentlich kaufen? Wenn das "tu-dresden" in der Mail-Adresse
> stimmt, gibt die Bibliothek der TU nicht was her? Oder sind dort alle
> B�cher verliehen?

Hallo Andreas,

ja, um die guten muss man sich rei�en. Das tu-dresden in der Adresse
stimmt schon ganz gut :-)

Zudem sind dort immer nur ein oder zwei Exemplare zur Hand, die man
meist nicht entleihen kann (Pr�senzexemplar). Und man muss auch noch
Gl�ck haben, dass die B�cher aktuell sind.

Und wenn das Buch auch mal jemand anders habenm�cte, nachdem man es sich
ergattert hat, dann darf man es nach 2 Monaten "Besitz" wieder fein
zur�ckbringen, weil einem die Verl�ngerung der Leihfrist verweigert wird.

Au�erdem lernt es sich zuhaus viel sch�ner, wenn man gem�tlich mit nem
Kaffee am Rechner sitzt. Manchmal bekomme ich mitten in der Nacht
regelrechte Produktivit�tsattacken, da ists dann auch schlecht mit
Bibliothek :-/

Merlin

Christopher Arndt

unread,
Jan 30, 2010, 7:10:24 PM1/30/10
to
Lukas Graf schrieb:

> Obwohl unterdessen schon recht angestaubt ist http://diveintopython.org/ für
> den Schnelleinstieg IMHO immer noch gut geeignet.

Obwohl ich "Dive Into Python" wirklich klasse finde, da es vor allem
auch guten Programmierstil vorlebt, würde ich es keinem absolutem
Programmieranfänger empfehlen.

Die Benutzung der Dokumentation der Standard Library, auch wenn diese
manchmal, wie soll ich sagen, ihre Eigenheiten hat, sollte auf jeden
Fall in Fleisch und Blut übergehen.

Bevor man irgendwas in Python selbst implementiert, immer erstmal in der
Modulliste oder im Index dieser Dokumentation schauen, ob es das nicht
schon dort gibt oder ob man zumindest Hinweise findet. Ok, in manchen
Gebieten (z.B. XML/HTML-Verarbeitung) ist die Zeit mittlerweile etwas an
den Standard Libraries vorübergegangen, aber dann gibt es meistens
allgemein bekannte Alternativen.

Chris

Lukas Graf

unread,
Jan 31, 2010, 2:31:00 AM1/31/10
to
Christopher Arndt wrote:

> Lukas Graf schrieb:
>> Obwohl unterdessen schon recht angestaubt ist http://diveintopython.org/
>> für den Schnelleinstieg IMHO immer noch gut geeignet.
>
> Obwohl ich "Dive Into Python" wirklich klasse finde, da es vor allem
> auch guten Programmierstil vorlebt, würde ich es keinem absolutem
> Programmieranfänger empfehlen.

Gerade deswegen finde ich es als erste Anlaufstelle immer wieder gut
geeignet. Jemand ohne OOP Erfahrung lernt dies kaum durch lesen der Standard
Library Dokumentation.



> Die Benutzung der Dokumentation der Standard Library, auch wenn diese
> manchmal, wie soll ich sagen, ihre Eigenheiten hat, sollte auf jeden
> Fall in Fleisch und Blut übergehen.

Auf jeden Fall. Das schliesst sich ja auch nicht aus. Das beste Tutorial
kann keine Referenz-Dokumentation ersetzen, das versteht sich von selbst.
Aber gerade weil die Python Standard Library sehr gut dokumentiert ist,
reicht meistens schon "google [python foo module]", um mit dem ersten
Treffer an der richtigen Stelle zu landen,

> Bevor man irgendwas in Python selbst implementiert, immer erstmal in der
> Modulliste oder im Index dieser Dokumentation schauen, ob es das nicht
> schon dort gibt oder ob man zumindest Hinweise findet.

Das sowieso ;)

Gruss Lukas

Andreas Bruhn

unread,
Jan 31, 2010, 8:32:03 AM1/31/10
to
Am Sat, 30 Jan 2010 19:10:23 +0100 schrieb Stefan Behnel:

> Andreas Bruhn, 30.01.2010 15:47:
>> Zur Python-Doku: Da frage ich mich, warum noch keiner "Dive into

>> Python" erw�hnt hat. M�sste unter http://diveintopython.org zu finden


>> sein. Teilweise vielleicht nicht ganz aktuell
>
> http://diveintopython3.org/
>

> d�rfte etwas aktueller sein.

Ah, kannte ich noch nicht. Danke!

Andreas

PS: Bei Python 3 f�llt mir ja das

Python
Essential Reference
Fourth Edition

von David M. Beazley

ein. (0-672-32978-6 bzw. 978-0-672-32978-6) Nicht unbedingt
Anf�nger-tauglich, aber f�r mich eine sch�ne Offline-Referenz zu
Python 2.6 und Python 3.

Merlin Weisig

unread,
Jan 31, 2010, 5:02:08 PM1/31/10
to
Vielen Dank erstmal f锟絩 die starke Resonanz! :-)

Ich habe am jetzigen Wochenende ernsthaft damit begonnen, mich
intensiver mit Python zu besch锟絝tigen und habe auch mal Django ausprobiert.

Bei letzterem bin ich einfach einem Tutorial, was Django bereitstellt,
gefolgt, um mal reinzuschnuppern, wie das ganze arbeitet. F锟絩 die
sp锟絫ere Zeit auf jeden Fall sehr interessant!

Konkret begonnen hab ich mit einfachen Dingen, heute vormittag habe ich
ein Programm geschrieben, was den Ostersonntag eines beliebigen Jahres
unter Ber锟絚ksichtigung der Schaltjahre im Voraus, sowie auch r锟絚kw锟絩tig
berechnet. Und zu meiner 锟絙erraschung muss ich sagen, es ist relativ
simpel! Auch der "eingebaute Debugger", der einen auf die entsprechende
Stelle im Quelltext hinweist, falls man sich mal vertippt hat, ist
einfach klasse.

Ich hab den Quelltext mal angehangen, bin jetzt ein bisschen Stolz auf
mich selbst und werde mich in Zukunft damit auf jeden Fall intensiver
befassen und euch gegebenenfalls mit ein paar Fragen "nerven"... denn
wozu ist das Ganze hier sonst gut? ;-)

Merlin

--
merlin@hermes/home/merlin/python_gehversuche/cat osterdatum.py

#!/usr/bin/python

print 'Berechnung des Datums des Ostersonntags'

_jahr = int(raw_input('Bitte das Jahr zur Berechnung eingeben: '))

_a = _jahr % 19
_b = _jahr / 100
_c = _jahr %100
_d = _b / 4
_e = _b % 4
_f = (_b + 8) / 25
_g = (_b - _f + 1) / 3
_h = ((_a * 19) + _b + 15 - _d - _g) % 30
_i = _c / 4
_j = _c % 4
_k = (((_e + _i) * 2) + 32 - _h - _j) % 7
_l = ((((_k * 2) + _h) *11) + _a) / 451
_m = ((_h + _k + 114) - (_l * 7)) / 31
_n = (((_h + _k + 114) - (_l * 7)) % 31) + 1

print 'Ostersonntag ist am ',_n,'.',_m,'.',_jahr

Diez B. Roggisch

unread,
Jan 31, 2010, 6:48:09 PM1/31/10
to
Am 31.01.10 23:02, schrieb Merlin Weisig:

> Vielen Dank erstmal f锟絩 die starke Resonanz! :-)
>
> Ich habe am jetzigen Wochenende ernsthaft damit begonnen, mich
> intensiver mit Python zu besch锟絝tigen und habe auch mal Django ausprobiert.
>
> Bei letzterem bin ich einfach einem Tutorial, was Django bereitstellt,
> gefolgt, um mal reinzuschnuppern, wie das ganze arbeitet. F锟絩 die
> sp锟絫ere Zeit auf jeden Fall sehr interessant!
>
> Konkret begonnen hab ich mit einfachen Dingen, heute vormittag habe ich
> ein Programm geschrieben, was den Ostersonntag eines beliebigen Jahres
> unter Ber锟絚ksichtigung der Schaltjahre im Voraus, sowie auch r锟絚kw锟絩tig
> berechnet. Und zu meiner 锟絙erraschung muss ich sagen, es ist relativ
> simpel! Auch der "eingebaute Debugger", der einen auf die entsprechende
> Stelle im Quelltext hinweist, falls man sich mal vertippt hat, ist
> einfach klasse.

Das ist kein debugger. Das ist einfach nur der Interpreter, der zuerst
auf syntaktische Korrektheit prueft, und dann bei der Ausfuehrung uU
Fehler entdeckt, wie zB nicht-existente Namen.

Einen echten Debugger gibt's auch, der heisst "pdb".


>
> Ich hab den Quelltext mal angehangen, bin jetzt ein bisschen Stolz auf
> mich selbst und werde mich in Zukunft damit auf jeden Fall intensiver
> befassen und euch gegebenenfalls mit ein paar Fragen "nerven"... denn
> wozu ist das Ganze hier sonst gut? ;-)


Gibt es einen Grund, warum du alle Variablennamen mit _ beginnst? Und
sie "durchzunummerieren" (auch wenn du buchstaben benutzt) ist auch
keine grosse Idee, Variablennamen sollten aussagekraeftiger sein.

MfG Diez

Christopher Arndt

unread,
Feb 1, 2010, 4:36:35 AM2/1/10
to
Merlin Weisig schrieb:
> #!/usr/bin/python

Besser ist:

#!/usr/bin/env python

Dann funktioniert das auch wenn Python woanders installiert ist.

> print 'Berechnung des Datums des Ostersonntags'
>
> _jahr = int(raw_input('Bitte das Jahr zur Berechnung eingeben: '))

Hier hättest du u.U. auch gleich die 'input()'-Funktion verwenden
können, die die Eingabe evaluiert und damit in einen entsprechendes
Python-Objekt umwandelt. Allerdings hättest du dann nicht die
Gewissheit, dass ein int eingegeben wurde.

Vielleicht also besser so:

while True:
try:


jahr = int(raw_input('Bitte das Jahr zur Berechnung eingeben: '))

except ValueError:
print "Bitte eine Integer-Zahl eingeben!"
else:
break



> _a = _jahr % 19

Wie Diez schon sagte, warum immer der führende Unterstrich?
Variablennamen mit führendem Unterstrich zeigen in Python *per
Konvention* eine "private" Variable an, auf die nicht von außerhalb des
aktuellen Moduls/der aktuellen Klasse zugegriffen werden *sollte*.

> _b = _jahr / 100
> _c = _jahr %100

<pedantic>
Vor und nach Operatoren in Python immer ein Leerzeichen (siehe
Styleguide in PEP-8).
</pedantic>

> _d = _b / 4
> _e = _b % 4
> _f = (_b + 8) / 25
> _g = (_b - _f + 1) / 3
> _h = ((_a * 19) + _b + 15 - _d - _g) % 30

In Python gelten die normalen mathematischen Präzendenzregeln: Punkt-
vor Strichrechnung. Die vielen Klammern sind hier also überflüssig:

h = (a * 19 + b + 15 - d - g) % 30

> _i = _c / 4
> _j = _c % 4
> _k = (((_e + _i) * 2) + 32 - _h - _j) % 7
> _l = ((((_k * 2) + _h) *11) + _a) / 451
> _m = ((_h + _k + 114) - (_l * 7)) / 31
> _n = (((_h + _k + 114) - (_l * 7)) % 31) + 1
>
> print 'Ostersonntag ist am ',_n,'.',_m,'.',_jahr

Hier wäre die String-Substitution übersichtlicher:

print "Ostersonntag ist am %s.%s.%s." % (tag, monat, jahr)


Zuletzt: wäre dies ein realer Anwendungsfall gewesen:

$ easy_install python-dateutil
$ python
>>> from dateutil.easter import easter
>>> print "Ostersonntag ist am %s." % easter(2010).strftime('%d.%m.%Y')
Ostersonntag ist am 04.04.2010.


;)

Chris

Merlin Weisig

unread,
Feb 1, 2010, 9:12:23 AM2/1/10
to
Christopher Arndt schrieb:

>
> Besser ist:
>
> #!/usr/bin/env python
>
> Dann funktioniert das auch wenn Python woanders installiert ist.
>

Merk ich mir, danke.

> Vielleicht also besser so:
>
> while True:
> try:
> jahr = int(raw_input('Bitte das Jahr zur Berechnung eingeben: '))
> except ValueError:
> print "Bitte eine Integer-Zahl eingeben!"
> else:
> break

Das wäre eine mögliche Erweiterung, stimmt.

>
>> _a = _jahr % 19
>
> Wie Diez schon sagte, warum immer der führende Unterstrich?
> Variablennamen mit führendem Unterstrich zeigen in Python *per
> Konvention* eine "private" Variable an, auf die nicht von außerhalb des
> aktuellen Moduls/der aktuellen Klasse zugegriffen werden *sollte*.

Dann hab ich mich wohl verlesen, ich dachte, Variablen sollten immer mit
einem Unterstrich beginnen. Obige Gründe waren mir unbekannt, wieder was
gelernt. Die Variablen sind schlicht einfach den Buchstaben des
Alphabets nachempfunden, weil ich zu faul zum tippen war. ;-)

>
>> _b = _jahr / 100
>> _c = _jahr %100
>
> <pedantic>
> Vor und nach Operatoren in Python immer ein Leerzeichen (siehe
> Styleguide in PEP-8).
> </pedantic>

Njaaaaa, da hab ich mich halt einmal vertippt, bzw. ein Leerzeichen
vergessen.

>
>> _d = _b / 4
>> _e = _b % 4
>> _f = (_b + 8) / 25
>> _g = (_b - _f + 1) / 3
>> _h = ((_a * 19) + _b + 15 - _d - _g) % 30
>
> In Python gelten die normalen mathematischen Präzendenzregeln: Punkt-
> vor Strichrechnung. Die vielen Klammern sind hier also überflüssig:

Die Klammern ergeben sich eher aus Gründen der Übersichtlichkeit, da ich
die Rechenoperationen aus einem Buch übernommen habe, wo sie in Worten
ausgeschrieben waren. Die Klammern erleichterten mir die Kontrolle der
Eingabe, weil sie in etwa auch die einzelnen Formulierungsabschnitte
wiedergeben.

> Hier wäre die String-Substitution übersichtlicher:
>
> print "Ostersonntag ist am %s.%s.%s." % (tag, monat, jahr)

Sowas hat mir noch gefehlt, bzw war ich wohl im Tutorial noch nicht so
weit um das zu wissen.

>
>
> Zuletzt: wäre dies ein realer Anwendungsfall gewesen:
>
> $ easy_install python-dateutil
> $ python
>>>> from dateutil.easter import easter
>>>> print "Ostersonntag ist am %s." % easter(2010).strftime('%d.%m.%Y')
> Ostersonntag ist am 04.04.2010.

Darauf kam es mir gar nicht an. :-P
Wenn ich etwas lernen will, dann erfinde ich zum Verständnis manchmal
gern das Rad neu. Zudem war dies das erste Beispiel, was mir unter die
Augen kam und auf Anhieb für mich den Anreiz hatte: "Das ist cool, das
bau ich jetzt mal zusammen."


Merlin

Christopher Arndt

unread,
Feb 1, 2010, 3:41:55 PM2/1/10
to
Merlin Weisig schrieb:
> Christopher Arndt schrieb:

>> Zuletzt: wäre dies ein realer Anwendungsfall gewesen:
>>
>> $ easy_install python-dateutil
>> $ python
>>>>> from dateutil.easter import easter
>>>>> print "Ostersonntag ist am %s." % easter(2010).strftime('%d.%m.%Y')
>> Ostersonntag ist am 04.04.2010.
>
> Darauf kam es mir gar nicht an. :-P
> Wenn ich etwas lernen will, dann erfinde ich zum Verständnis manchmal
> gern das Rad neu.

Ist mir schon klar. Dies sollte auch nur als Illustration für den
generellen Tipp gelten: immer erst mal schauen, was es schon gibt,
meistens wird man fündig und man erspart sich die Arbeit für
Implementierung und - viel wichtiger - Debugging und Maintenance,

Dass man zum Lernen möglichst vieles mal ausprobiert und "händisch"
gemacht haben sollte, ist klar.

Chris

Maik

unread,
Feb 2, 2010, 2:54:28 AM2/2/10
to
Hey Merlin,
ich habe mich auch f�r die Sprache damals interessiert, jetzt auch, und ich
muss sagen, dass kann man zur H�lfte allein schaffen, ich z.B. habe mir ein
Buch ausgeliehen und getestet, habe GUI's geschrieben, und auch ein paar
Consolen Programme, bin eigentlich nicht so gut in Programmieren, aber
Tkinter und co. erleichtern mir die Arbeit, guck dir doch mal das hier an:
(selbstgeschrieben)
Meine Python Skripte: http://www.muckelmaik.spaces.live.com
Meine anderen Programme: http://logproglist.de.vu

Gru� Maik
P.s: Bin als Webmaster t�tig: http://gamesbox.de.ms http://geb4u.net.tc


Nils-Hero Lindemann

unread,
Feb 6, 2010, 10:26:57 AM2/6/10
to
Herr Weisig,

http://openbook.galileocomputing.de/python/
Und natürlich die Dokumentation, die Python selbst beiliegt.
http://www.python.org/doc/
Falls es schon jemand empfohlen hat, gebührt dem die Ehre (hab den
Thread nicht ganz gelesen)

Ansonsten, Google hat (Seiten auf deutsch):
350 000 Ergebnisse für Python Dokumentation
270 000 Ergebnisse für Python Handbuch
065 000 Ergebnisse für Python Tutorial

Gruß, Nils Lindemann

--
Nils-Hero Lindemann <ni...@freiewelt.org>

Nils-Hero Lindemann

unread,
Feb 6, 2010, 10:54:21 AM2/6/10
to
Herr Weisig,

> habe auch mal Django ausprobiert.

Vielleicht gefällt ihnen web2py (Von Professoren geschrieben).
Runterladen, die web2py.py ausführen, loslegen.
Dokumentation ist dabei. Python 2.5 Voraussetzung.

http://www.web2py.com/
http://groups.google.com/group/web2py

Georg Brandl

unread,
Feb 6, 2010, 1:59:14 PM2/6/10
to
Am 06.02.2010 16:26, schrieb Nils-Hero Lindemann:
> Herr Weisig,
>
> http://openbook.galileocomputing.de/python/

Davon ist schwer abzuraten. Kritik z.b. hier:
http://bj.spline.de/python_openbook.html


cheers,
Georg

Georg Brandl

unread,
Feb 6, 2010, 2:00:05 PM2/6/10
to
Am 06.02.2010 16:54, schrieb Nils-Hero Lindemann:
> Herr Weisig,
>
>> habe auch mal Django ausprobiert.
>
> Vielleicht gefällt ihnen web2py (Von Professoren geschrieben).

Da musste ich kurz lachen :)

Georg

Nils-Hero Lindemann

unread,
Feb 7, 2010, 6:03:49 AM2/7/10
to
Hallo Mr. Sphinx :-)
(http://sphinx.pocoo.org/)

Diese Quelle hat _ein Kapitel_ des Buches gelesen.

Sie raten dennoch schwer ab? Warum? Was ist ihre konkrete Kritik
an den verbleibenden 27 Kapiteln dieses Buches? Was würden Sie besser
formulieren? Und Wie?

Gruß, Nils
--
Nils-Hero Lindemann <ni...@freiewelt.org>

Nils-Hero Lindemann

unread,
Feb 7, 2010, 6:33:11 AM2/7/10
to
Georg Brandl <g.brand...@gmx.net> wrote
(Sat, 06 Feb 2010 20:00:05 +0100):

> Da musste ich kurz lachen :)

Ha! Wusste ich!

--
Nils-Hero Lindemann <ni...@freiewelt.org>

Torsten Bronger

unread,
Feb 7, 2010, 7:13:34 AM2/7/10
to
Hall�chen!

Nils-Hero Lindemann schreibt:

> Hallo Mr. Sphinx :-)
> (http://sphinx.pocoo.org/)
>
> Diese Quelle hat _ein Kapitel_ des Buches gelesen.
>
> Sie raten dennoch schwer ab? Warum? Was ist ihre konkrete Kritik

> an den verbleibenden 27 Kapiteln dieses Buches? Was w�rden Sie
> besser formulieren? Und Wie?

Ohne Georgs Antwort vorwegnehmen zu wollen: Ich finde Marcs
Rezension ziemlich eindeutig. Jede Sprach-Community entwickelt eine
ganz besondere Art, die Sprache zu benutzen. Diese Art ist meist
auch ein lokales Optimum, weil vor allem die besten Kniffe
nachgeahmt und weiterempfohlen werden.

Die Autoren dieses Buches haben nun in einem ganz ganz zentralen
Kapitel gezeigt, da� sie wichtige Kniffe f�r Python entweder nicht
kennen oder f�r schlecht halten. Wenn man die Regeln beherrscht,
darf man sie brechen, aber f�r *Anf�nger* ist das dann in der Tat
nichts mehr.

Tsch�,
Torsten.

--
Torsten Bronger, aquisgrana, europa vetus
Jabber-ID: torsten...@jabber.rwth-aachen.de
oder http://bronger-jmp.appspot.com

Egon Frerich

unread,
Feb 7, 2010, 12:11:10 PM2/7/10
to
Merlin Weisig schrieb:
> Hallo Gemeinde,
>
> schon lᅵnger trage ich mich mit dem Gedanken, mir autodidaktisch python
> beizubringen. Projekte, die ich verwirklichen mᅵchte habe ich auch

> schon, allerdings fehlt mir der konkrete Einstieg in die Sprache um mir
> ein Basiswissen zu erarbeiten, auf dem ich aufbauen kann.
>
> Da ich eher ungern manpages durcharbeite mᅵchte ich hier mal fragen, ob
> jemand ein fᅵr Einsteiger bzw. blutige Anfᅵnger geeignetes,

> umfangreiches und verwendbares Tutorial kennt, dass ich mir mal
> vornhemen kann.
>
> Bisher bin ich schon auf die Seite "A byte of python" gestoᅵen, was

> schon recht gut veranschaulicht, worum es bei python geht und wo die
> Vorteile liegen.
>
> Eventuell gibts ja in Insiderkreisen entsprechende Seiten, die ihr fᅵr
> geeignet haltet, ich mᅵchte es eigentlich vermeiden, mir im Laden ein

> Buch zu kaufen, was in ein zwei oder mehr Jahren nur noch gut aussieht.
>
> Arbeitsbasis sind ᅵbrigens Systeme auf Debian und Archlinux und ich
> wᅵrde das spᅵter gern im Rahmen meiner eigenen Projekte auf die
> Kommunikation mit PostgreSQL zur weiteren Unterstᅵtzung ausweiten,

> vielleicht gibt es da ja auch entsprechendes...
>
> Was kᅵnnt ihr empfehlen? Schon mal danke im Voraus!
>
> Merlin

Von mir stammt eine Einfᅵhrung unter

http://frerich.eu/Python/index.html

Egon

Marek Kubica

unread,
Feb 7, 2010, 10:24:08 PM2/7/10
to
On Sat, 6 Feb 2010 23:03:49 -1200
Nils-Hero Lindemann <ni...@freiewelt.org> wrote:

> Diese Quelle hat _ein Kapitel_ des Buches gelesen.

Ich habe auch ein Kapitel des Buches gelesen und dort auch beim ersten
Durchsehen faktische Fehler gefunden. Ich bitte zu entschuldigen, dass
ich nicht noch x weitere gelesen habe, jedoch denke ich dass sie
vielleicht einen Korrektor hätten einstellen sollen.

> Sie raten dennoch schwer ab? Warum? Was ist ihre konkrete Kritik
> an den verbleibenden 27 Kapiteln dieses Buches? Was würden Sie besser
> formulieren? Und Wie?

Nun, die Resultate sprechen gegen das Buch. Oftmals ist es so, dass
wenn ich von Einsteigern ganz besonders fürchterlichen Code sehe der
sehr unpythonisch ist und da nachhake, warum sie die Sachen so machen
dann bekomme ich öfters die Antwort dass das im Openbook so steht.

Da die Autoren des Buches auf mich nicht den Eindruck machen, als
würden sie die Sprache selbst auf idiomatische Weise beherrschen finde
ich dass von der Lektüre abzuraten ist - es macht ja doch keinen Sinn
danach noch ein Buch zu lesen was einem die Sachen dann richtig erklärt
- da kann man auch gleich "richtig" lernen. Zudem es ja durchaus auch
empfehlenswerte Bücher gibt.

grüße,
Marek

Daniel Flinkmann

unread,
Feb 8, 2010, 7:44:38 AM2/8/10
to
On Sun, 31 Jan 2010 14:32:03 +0100, Andreas Bruhn wrote:

> ein. (0-672-32978-6 bzw. 978-0-672-32978-6) Nicht unbedingt

> Anfänger-tauglich, aber für mich eine schöne Offline-Referenz zu Python
> 2.6 und Python 3.

978-0-672-32978-6 ist aber ein Facebook-Dev Buch
978-0-672-32978-4 ist das gesuchte Python Buch.

Gruß,

Daniel

Andreas Bruhn

unread,
Feb 9, 2010, 8:05:58 PM2/9/10
to
Am 08 Feb 2010 12:44:38 GMT schrieb Daniel Flinkmann:

> On Sun, 31 Jan 2010 14:32:03 +0100, Andreas Bruhn wrote:
>
>> ein. (0-672-32978-6 bzw. 978-0-672-32978-6) Nicht unbedingt

>> Anf�nger-tauglich, aber f�r mich eine sch�ne Offline-Referenz zu Python


>> 2.6 und Python 3.
>
> 978-0-672-32978-6 ist aber ein Facebook-Dev Buch
> 978-0-672-32978-4 ist das gesuchte Python Buch.

Stimmt, die letzte Stelle unterscheidet sich auch. Wer soll denn so
etwas ahnen?

Danke

Andreas

Thomas Rachel

unread,
Feb 11, 2010, 2:40:38 PM2/11/10
to

Hä? Wie kann das sein? Die letzte Zifer ist doch nur Prüfziffer? D.h.
eine der beiden müßte eigentlich ungültig sein...


Thomas

Georg Brandl

unread,
Feb 19, 2010, 7:14:05 AM2/19/10
to
Am 07.02.2010 12:03, schrieb Nils-Hero Lindemann:
> Hallo Mr. Sphinx :-)
> (http://sphinx.pocoo.org/)
>
> Diese Quelle hat _ein Kapitel_ des Buches gelesen.
>
> Sie raten dennoch schwer ab? Warum? Was ist ihre konkrete Kritik
> an den verbleibenden 27 Kapiteln dieses Buches? Was würden Sie besser
> formulieren? Und Wie?

Ich habe mir nicht die Mühe gemacht, alles aufzuschreiben, was mir
an den Kapiteln aufgefallen ist, die ich gelesen habe. Ich habe schon
ein anderes Python-Buch korrekturgelesen, und das ist eine ziemlich
aufwändige und noch dazu meist undankbare Arbeit.

Wenn allerdings ein einzelnes Kapitel schon in dem Maße auffällt, wie
es Marc in seinem Artikel bespricht, kann man davon ausgehen, dass
die Autoren, wie schon Marek sagte, einfach nicht genug "in der Sprache"
leben. Fehler großer und kleiner Art sind da schnell gemacht.

Viele Grüße,
Georg

Hermann Riemann

unread,
Feb 28, 2010, 11:53:48 AM2/28/10
to
Merlin Weisig schrieb:

> Da ich eher ungern manpages durcharbeite möchte ich hier mal fragen, ob
> jemand ein für Einsteiger bzw. blutige Anfänger geeignetes,


> umfangreiches und verwendbares Tutorial kennt, dass ich mir mal
> vornhemen kann.

Leider kenne ich kein Buch was ich Anfänger
als Einlernbuch bedenkenlos empfehlen kann.

Außerdem wandelt sich Python noch.

Ein Buch, was vielleicht Deinen Bedürfnissen entspricht
könnte
Das Python Praxisbuch von Farid Hajji Addison-Wesley
ISBN 978-3-8273-2543-3 sind.
Mit vielen praktischen Beispiele.
bei mir steht das Buch noch nahezu unbenutzt im Regal
der wichtigen Bücher.

Ein Buch hat mir sehr häufig viel geholfen:

Python kurz&gutz von Mark Lutz
O'Reilly ISBN 3-89721-511-X

Zumindest dieses ca 10€ Buch ist sehr empfehlenswert,
und nimmt wenig Platz weg.

Eine weitere Lernhilfe ist google (Schlüsselwortsuche),
womit man manchmal wichtige Hinweise findet.

Der erste Einstieg ist die Verwendung von Python als
Taschenrechner; einfach Python in der shell aufrufen
und dann z.B. 7*3 eingeben.

Hermann
der im letzten Jahr zum Programmieren überwiegend Python verwendet hat.

--
http://www.Hermann-Riemann.de

0 new messages