Einfuehrung in Python (fuer Programmierer) 2008

Gute Links und Tutorials könnt ihr hier posten.
Benutzeravatar
Rebecca
User
Beiträge: 1662
Registriert: Freitag 3. Februar 2006, 12:28
Wohnort: DN, Heimat: HB
Kontaktdaten:

Einfuehrung in Python (fuer Programmierer) 2008

Beitragvon Rebecca » Dienstag 2. September 2008, 14:04

Auch dieses Jahr werde ich im Rahmen der internen Fortbildung wieder einen Einfuehrungskurs in Python abhalten. Der Kurs ist fuer Leute gedacht, die schon programmieren koennen. Er geht ueber drei ganze Tage, jeweils Vorlesung mit anschliessenden Uebungen.

Vorlesungsfolien, Uebungsblaetter, LaTex-Quellen und Musterloesungen

Dieses Jahr habe ich mir mal die Muehre gemacht, die Folien im Design der python.org-Seite zu gestalten. 8)
Offizielles Python-Tutorial (Deutsche Version)

Urheberrecht, Datenschutz, Informationsfreiheit: Piratenpartei
kaschu
User
Beiträge: 25
Registriert: Sonntag 25. Februar 2007, 14:15

Beitragvon kaschu » Dienstag 2. September 2008, 15:44

Hi!
In den Vortragsfolien ist ein kleiner Vertipper drin.
Auf der Seite "Anonyme Funktionen: lambda" steht.

Code: Alles auswählen

>>> f = lambda x, y: x+y
>>> f(2,3)
4


Heraus kommt natürlich 5.
Benutzeravatar
BlackVivi
User
Beiträge: 762
Registriert: Samstag 9. Dezember 2006, 14:29
Kontaktdaten:

Beitragvon BlackVivi » Dienstag 2. September 2008, 16:07

Das Bild "PythoN" auf der Seite funktioniert nicht... Falscher Verweis oder so :)
BlackJack

Beitragvon BlackJack » Dienstag 2. September 2008, 16:19

@Rebecca: Bei der Bemerkung zu ``except`` ohne konkrete Ausnahme musste ich schmunzeln. Kleine Korrektur: Es werden auch *gewollte* Programmierfehler verdeckt. ;-)

Das ``try``/``finally``-Beispiel funktioniert (noch) nicht. Noch braucht man für das ``finally`` ein eigenes ``try``.

Auf Folie 149 ist ein kleiner Fipptehler: Datan -> Daten.
audax
User
Beiträge: 830
Registriert: Mittwoch 19. Dezember 2007, 10:38

Beitragvon audax » Dienstag 2. September 2008, 16:21

BlackJack hat geschrieben:Das ``try``/``finally``-Beispiel funktioniert (noch) nicht. Noch braucht man für das ``finally`` ein eigenes ``try``..


Öhm...nein?
Ab 2.5 doch nicht mehr
BlackJack

Beitragvon BlackJack » Dienstag 2. September 2008, 17:58

Oh, ich dachte das käme erst mit 2.6. Aber in den Folien wird noch 2.4.irgendwas verwendet!
Benutzeravatar
Rebecca
User
Beiträge: 1662
Registriert: Freitag 3. Februar 2006, 12:28
Wohnort: DN, Heimat: HB
Kontaktdaten:

Beitragvon Rebecca » Mittwoch 3. September 2008, 09:29

Danke fuer die Hinweise, werde ich einbauen. Letztes Jahr war auf den Uebungsrechnern noch 2.4 (und 2.4 ist ja allgemein noch sehr weit verbreitet), deswegen hab ich versucht, die Folien 2.4-kompatibel zu halten. Ein paar 2.5-Neuerungen werden dann extra erwaehnt.

EDIT: Ich sehe gerade, dieses Jahr gibt's Python 2.5.
Offizielles Python-Tutorial (Deutsche Version)

Urheberrecht, Datenschutz, Informationsfreiheit: Piratenpartei
sma
User
Beiträge: 3018
Registriert: Montag 19. November 2007, 19:57
Wohnort: Kiel

Beitragvon sma » Freitag 5. September 2008, 09:36

Rebecca, zunächst vielen Dank für das Veröffentlichen deiner Kursunterlagen. Ein paar Kommentare zu Teil 1.

Mir ist aufgefallen, dass bei "Dynamischer Typisierung" steht, dass es keine Variablendeklarationen gibt. Das ist vielleicht bei Python so, aber allgemein kein Attribut dynamischer Typisierung. Auch wird später (bei `dir`) von Namen gesprochen und daher würde ich auch hier schon von dem Binden von Objekten an Namen sprechen und nicht von Variablen.

Allgemein: Sollte man 2008 nicht schon in Richtung 3.0 oder wenigstens 2.6 informieren? In einem Monat ist es doch so weit. Du zeigst auf einer Folie Python 2.4.

Bei den Grundrechenarten ist es evtl. erwähnenswert, dass `/` und `%` bei negativen Zahlen anders runden als C oder Java (bin ich neulich mit auf die Nase gefallen).

Sollte man bei Strings nicht auch die u""-Form erwähnen und ans Herz legen? Bytestrings sind doch in heutiger Zeit eigentlich ein Anachronismus - oder sollten es wenigstens sein.

Auf der Folie "Operationen auf Sequenzen" fehlt ein R in "Stings". Auf der nächsten Folie: `upper` ist keine Funktion, sondern eine Methode.

Mein Tipp wäre, bei der Folie über Referenzen Objektidentitäten (und den `is`-Operator) zur Erklärung zu benutzen. Das ist sonst ein Thema, was aus meiner Erfahrung schwer zu vermitteln ist.

Auf der Folie "Vergleichsoperatoren" und auf der zwei danach hast du unnötige Klammern benutzt. Manche sagen, das macht Dinge klarer, ich finde es jedoch verwirrend und als Zeichen, dass die Vorrangregeln und Syntax nicht verstanden wurden. Beliebtes weiteres Beispiel: Klammern um die Argumente von `return`.

Auf "Ausnahmen behandeln" soll es wohl "ungewollt" ohne E heißen. Das Beispiel auf der Folgeseite ist IMHO ungeschickt. Man sollte von Anfang an predigen, Ressourcen wie Dateien immer in einem finally zu schließen. Das würde hier aber zwei try-Blöcke erfordern. Kann hier die Datei geöffnet werden, danach passiert dann aber `read` ein Fehler, wird die Datei nicht mehr geschlossen.

Stefan

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder