Dilemma: Welches Version von Python zum lernen?

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
brubb
User
Beiträge: 5
Registriert: Sonntag 4. Mai 2008, 12:46

Sonntag 4. Mai 2008, 18:50

Hallo,

da ich grad Zeit habe wollte ich Python lernen, damit ich nicht nur auf PHP beschränkt bin.

Allerdings stellt sich jetzt die Frage, auf welche Version ich mich konzentrieren soll?
Python 2.5 und dann in ein paar Monaten die ganze Veränderungen neu lernen?
Der Python 2.6 oder 3.0 das zwar zukunftssicher ist aber dafür gibts eben auch wenige Tutorials/Referenzen.

Was würdet ihr machen?

Noch eine Frage zur Python Referenz von python.org:
Gibts denn da eine Seite, die mir zuverlässig alle Möglichkeiten der Klassendefinition aufzeigt?
Im Galileo Openbokk habe ich von statischen Properties und 'privaten' Membern gelesen,
die Reference schweigt sich hierzu aus. (Oder ich lese an den falschen Stellen)

MfG, Martin
Benutzeravatar
Hyperion
Moderator
Beiträge: 7472
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Sonntag 4. Mai 2008, 18:54

Ist doch ganz einfach: Python 2.5 ist die aktuelle stablie Version! Wozu sich auf Experimente einlassen? Man muss die Sprache ja nicht umlernen für 2.6, es kommen eben nur ein paar neue Sachen hinzu (z.B. das with Statement afaik).

Und Python 3.0 ist eben noch eine Ecke weit weg! Ich glaube kaum, dass es schon viele gängige 3rd Party Module gibt, die auf 3.0 aufbauen - wie auch, 3.0 ist ja noch nicht fertig!

Von daher: Wenn Du Python lernen willst, nimm die aktuell stabile Version! (Würde ich mit jeder Sprache so machen)
BlackJack

Sonntag 4. Mai 2008, 19:05

@brubb: Vergiss am besten was Du im Openbook gelesen hast. Die haben Python nicht verstanden.

Ansonsten würde ich auch sagen, steig mit 2.5 ein. Zur 2.6 ändert sich zwar ein bisschen was, aber damit wird das Wissen, das Du Dir bis dahin über Python angeeignet hast, ja nicht plötzlich komplett obsolet. Selbst für die 3.0er wird man den Grossteil des Wissens weiterverwenden können.
Leonidas
Administrator
Beiträge: 16024
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Sonntag 4. Mai 2008, 20:09

brubb hat geschrieben:Allerdings stellt sich jetzt die Frage, auf welche Version ich mich konzentrieren soll?
Python 2.5 und dann in ein paar Monaten die ganze Veränderungen neu lernen?
Der Python 2.6 oder 3.0 das zwar zukunftssicher ist aber dafür gibts eben auch wenige Tutorials/Referenzen.
Python 2.x und Python 3 sind nicht so diametral verschieden, keine Ahnung was die Leute denken lässt, dass dem so wäre. Eigenen Code Python 3-fähig zu machen ist recht einfach, das größte Hindernis wird wohl der konsequente Einsatz von Unicode sein. Ansonsten bringt Python 3.0 hauptsächlich Detailverbesserungen, Dinge die man sich schon lange sauberer haben wollte. Es ist keine neue Sprache. Auch der Umstellungsaufwand ist so groß auch nicht.
brubb hat geschrieben:Gibts denn da eine Seite, die mir zuverlässig alle Möglichkeiten der Klassendefinition aufzeigt?
Im Galileo Openbokk habe ich von statischen Properties und 'privaten' Membern gelesen,
die Reference schweigt sich hierzu aus. (Oder ich lese an den falschen Stellen)
Nö, das was da im Buch steht ist Quatsch.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
Benutzeravatar
numerix
User
Beiträge: 2696
Registriert: Montag 11. Juni 2007, 15:09

Sonntag 4. Mai 2008, 21:12

Das Galileo Openbook und seine Qualität ist ja an anderer Stelle schon gründlich und begründet abgehandelt worden. Dem will ich auch nicht widersprechen.

Hinweisen möchte ich aber, dass es im Tutorial zu Python 3.0 einen Abschnitt gibt mit der Überschrift "Private Variables":

http://docs.python.org/dev/3.0/tutorial ... -variables
audax
User
Beiträge: 830
Registriert: Mittwoch 19. Dezember 2007, 10:38

Sonntag 4. Mai 2008, 21:18

Die sind aber bei weitem nicht das, was das OpenBook einem vormachen will..
Benutzeravatar
jens
Moderator
Beiträge: 8461
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Montag 5. Mai 2008, 07:59

Bei der Versionsfrage sind externe Module wichtig. Es gibt einige Module noch nicht für 2.6/3.0, deswegen ist IMHO 2.5 Sinnvoll.

CMS in Python: http://www.pylucid.org
GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Leonidas
Administrator
Beiträge: 16024
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Montag 5. Mai 2008, 09:42

Die meisten Pure-Python-Module sollten mit Python 2.6 ungeändert laufen und C-Module sollten auch weiterhin kompilieren, von dem her ist 2.6 eigentlich auch kein Bruch mit älterem.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
brubb
User
Beiträge: 5
Registriert: Sonntag 4. Mai 2008, 12:46

Montag 5. Mai 2008, 11:19

Kann mir jemand ein Beispiel für ein externes Modul geben, das häufig benutzt wird? Kann mir gearde nichts darunter vorstellen...
Benutzeravatar
jens
Moderator
Beiträge: 8461
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Montag 5. Mai 2008, 11:21

Da gibt es eine ganze Reihe, z.B:
PIL, MySQLdb (oder ander DB-Module), GUI-Module usw.

Siehe auch: [wiki]Module[/wiki]

CMS in Python: http://www.pylucid.org
GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
sma
User
Beiträge: 3018
Registriert: Montag 19. November 2007, 19:57
Wohnort: Kiel

Samstag 10. Mai 2008, 10:44

Noch eine Ergänzung: Nick Effort spricht sich bereits für das Lehren von Python 3 aus, weil ein paar Unschönheiten korrigiert wurden. Interessanter Artikel IMHO. Zum Selbststudium würde ich aber wohl dennoch Python 2.5 vorschlagen, da es mehr Bücher und andere Hilfe gibt.

Außerdem gibt es keine vorkompilierte Mac-Version der 3.0-Alpha-Version, was mich beleidigt empfehlen lässt, einen Blick auf Ruby zu werfen, auch eine lernenswerte Sprache und es gibt viel mehr Mac-User dort ;)

Stefan
Antworten