Python erlernen

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.
Python 47
User
Beiträge: 574
Registriert: Samstag 17. September 2005, 21:04

Wie lange hat es bei euch denn gedauert bis ihr Python so einigermaßen konntet?Ich hab nähmlich irgendwie das Gefühl das ich das niemals können werde
mfg

Thomas :-)
henning
User
Beiträge: 274
Registriert: Dienstag 26. Juli 2005, 18:37

Das ist höchstwahrscheinlich eine Frage des Vorwissens.
Ich konnte vorher schon C(++), PHP, bash und ein bisschen Perl und hab keine 2 Wochen gebraucht bis ich halbwegs sicher Programme schreiben konnte.

Wo liegt denn genau dein Problem?
Was aus jeden Fall fürs lernen wichtig ist sind diese zwei Dinge:
- Code lesen (Dürftest grade hier im Forum und im Pythonwiki genug Beispielefindne)
- Code schreiben. Wenn die das Verhalten von Python an irgendeiner Stelle unklar ist, teste es einfach aus! Denn das merkt man sich besser als wenn man nur irgendwo liest, wie was funktioniert.

Als Folgerung daraus ist es auch gescheit sich Code zu nehmen und versuchen, geziele Änderungen durchzuführen und "mal gucken was passiert". Natürlich solltest du bemüht sein rauszufinden, warum gerade das passiert ist :-)
Und: pydoc ist dein Freund!

Wenn du z.B. Funktionen zum Thema xml suchst, kannst du pydoc mit nem keyword füttern:

Code: Alles auswählen

pydoc -k xml
Wenn du weiß um welches Modul/Klasse/Funktion es geht, kannst du pydoc direkt fragen:

Code: Alles auswählen

pydoc datetime.time
HTH, Henning
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Bei mir was das so ein fließender Übergang.. am Anfang konnte ichs gar nicht, hatte in jeder Zeile Fehler aber je mehr ich damit gemacht habe, desto besser hat es mir gefallen und desto besser konnte ich es. Ich würde sagen, nach einem halben Jahr hatte ich es ganz akzeptablem im Griff. Wobei ich sagen muss dass ich auch noch nicht alle Features einsetzen kann, zum Beispiel müsste ich mich erst in Dekoratoren einarbeiten und Metaklassen stehen auch noch auf dem Programm. Jedoch sind das Sachen die man seltener braucht.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Python 47
User
Beiträge: 574
Registriert: Samstag 17. September 2005, 21:04

Naja ich weiß halt nicht richtig für was welcher teil eines programmes steht und für was er gut ist.Was seine funktionen sind und was er bewirkt.
mfg

Thomas :-)
henning
User
Beiträge: 274
Registriert: Dienstag 26. Juli 2005, 18:37

Wie gesagt, dafür ist es am besten, sich gut kommentierten Quellcode duchzulesen.
Ich hab z.B. gleich mit soya angefangen. Das ist ne 3d-Engine, die speziell aus Spiele abzielt für python.
Da sind einige Beispiel-Python-Dateien bei. Mal abgesehen, davon, dass sie Soya erklären, kann man an denen auch ganz gut ein paar Grundsätze von Python verstehen...
Ansonsten hol' dir doch einfach mal irgendwo ein Python-Buch?

edit:
Ich hol mir sowas immer bei Terrashop, da hab ich das Python Cookbook z.B. mal für 10 € gekriegt, weils runtergesetzt war.
Python 47
User
Beiträge: 574
Registriert: Samstag 17. September 2005, 21:04

Und welches würdet ihr von den Büchern empfehlen?Bin Einsteiger und habe noch keine andere Programmiersprache gelernt :(
mfg

Thomas :-)
mawe
Python-Forum Veteran
Beiträge: 1209
Registriert: Montag 29. September 2003, 17:18
Wohnort: Purkersdorf (bei Wien [Austria])

Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Python Master 47 hat geschrieben:Und welches würdet ihr von den Büchern empfehlen?
Steht auch in der FAQ, dort solltest du reinschauen, die beantwortet sicherlich einige Fragen.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Python 47
User
Beiträge: 574
Registriert: Samstag 17. September 2005, 21:04

Also ha mir mal die Links durchgeschaut.Als 1.Würde ich learning Python nehmen(da für Anfänger) und dann erst Python Ge-Packt(weil schon eher für fortgeschrittene)ist das gut so?

Habe mir schon way to Python und andere tuts gelesen und mir dort das wichtigste rausgeschrieben.Welche Finktion für was steht usw..Meint ihr das ist gut so?
mfg

Thomas :-)
mawe
Python-Forum Veteran
Beiträge: 1209
Registriert: Montag 29. September 2003, 17:18
Wohnort: Purkersdorf (bei Wien [Austria])

Ich kann Dir leider nix über Learning Python sagen, das kenn ich nicht. Objektorientierte Programmierung mit Python empfehle ich immer gerne, weil es wirklich bei Null beginnt (also perfekt für Anfänger), und weil viele Aufgaben mit Lösungen drinstehen. Gerade durch die finde ich, lernt man sehr schnell.
Python 47
User
Beiträge: 574
Registriert: Samstag 17. September 2005, 21:04

Achso ich dachte Objetorientierte ... ist schon für Fortgeschrittene wegen dem namen.Ok habt mir sehr geholfen.THX
mfg

Thomas :-)
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Python Master 47 hat geschrieben:Also ha mir mal die Links durchgeschaut.Als 1.Würde ich learning Python nehmen(da für Anfänger) und dann erst Python Ge-Packt(weil schon eher für fortgeschrittene)ist das gut so?
Von Learning Python habe ich einiges schlechte gehört, obwohl es ein O'Reilly Buch ist. Ich habe es zwar selbst, aber als ich es gekauft habe war es schon zu spät, ich konnte 90% von dem Zeug schon.

Python Ge-Packt ist doch eine Referenz (mit einem Cover dass soweit ich weiß sehr leicht abgeht).. dazu verwende ich lieber den Gloabl Module Index, weil ich zu faul zum Blättern bin. Ich habe als Papier-Referenz Python kurz und gut, 1. und 2. Edition, jedoch nutze ich sie so gut wie die (nur das Kapitel über reguläre Ausdrücke), da bis ich es aus dem Regal geholt habe und das Kapitel gefunden habe ich im Global Module Index die komplette Dokumentation zum Modul gelesen habe.
Python Master 47 hat geschrieben:Habe mir schon way to Python und andere tuts gelesen und mir dort das wichtigste rausgeschrieben.Welche Finktion für was steht usw..Meint ihr das ist gut so?
Programmierung mit Python und ganz besonders Wie ein Informatiker denken lernen... könnte ich dir noch empfehlen. Aber ich habe das meiste mit learning-by-doing geschafft.

Zum notieren wofür was gut ist: ich weiß nicht ob es was bringt: ich habe ein kleines Script geschreiben, dass alle Finktionen zusammenzählt: ich bin auf 2853 Funktonen gekommen. Meist reicht es einfach, wenn man weiß was man will und in etwa auch wo man suchen soll.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Python Master 47 hat geschrieben:Achso ich dachte Objetorientierte ... ist schon für Fortgeschrittene wegen dem namen.
Nö, Objektorientierung ist absolut nicht schwer. Ich habe das Konzept Seinerzeit sehr schnell begriffen weil es ja doch recht Lebensnah ist.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Python 47
User
Beiträge: 574
Registriert: Samstag 17. September 2005, 21:04

Kannst du mir mal das script mal bitte geben?
mfg

Thomas :-)
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Python Master 47 hat geschrieben:Kannst du mir mal das script mal bitte geben?
Sicher, ich habe es jetzt etwas modifiziert. Allerdings ist das nur ein kleiner Wegwerf-Hack, nicht als Basis für irgend etwas mehr machen.

Erstmal musst du die Module aus dem Global Module Index in eine Datei namens modindex.txt speichern - ich poste diese Datei nicht, da sie etwas groß ist, die kann ich hier mal zwischenlagern.

Das Modul:

Code: Alles auswählen

import re
import warnings
# ignore all warnings
warnings.filterwarnings('ignore')

f = file('modindex.txt', 'r')

for line in f:
    line = line.rstrip()
    r = re.compile(r' \(.*')
    line = r.sub('', line)
    importmod = not line.startswith('__') and line != ''
    
    if importmod:
        try:
            exec "from %s import *" % line
        except ImportError:
            # ignore ImportErrors
            pass

f.close()
del re, warnings, f
print len(dir()) + len(dir(__builtins__))
Kommt bei mir im Moment auf 2969 Funktionen und Klassen. Funktionen kann es noch mehr geben, da Klassen ihrerseits wieder Funktionen haben können. Aber es ist schon mal ein grober Überblick.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Gast

Hab ich jetzt noch nicht kapiert.Ich nehme den code von rafb und speicher den in modindex.txt.Und dann?Wo soll ich die txt datei hinspeichern?
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Du speicherst die modindex.txt in einen Ordner, mein Skript speicherst du in den gleichen Ordner, meinetwegen als modindex.py und ruftst dann modindex.py auf.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Python 47
User
Beiträge: 574
Registriert: Samstag 17. September 2005, 21:04

Hab ich gemacht dann passiert aber nicht.nur ein schwarzes leeres fenster
mfg

Thomas :-)
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Python Master 47 hat geschrieben:Hab ich gemacht dann passiert aber nicht.nur ein schwarzes leeres fenster
Und dann verschwindet? Du musst es in der Konsole starten, so wie im FAQ-Abschnitt Wie starte ich Skripte? beschrieben.

Wenn dort keine Zahl erscheint, dann poste die Fehlermeldung hier, es sollte auf jeden Fall zumindest eine Fehlermeldung erscheinen.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Python 47
User
Beiträge: 574
Registriert: Samstag 17. September 2005, 21:04

Es erscheint 3199.Und jetzt?Was bringt mir das?
mfg

Thomas :-)
Antworten