icancode.de

Programmierung

Python Crashkurs – Tag 2 – Der frühe Vogel

Veröffentlicht am .

Python Crashkurs – Tag 2 – Der frühe Vogel

Einleitung

5:00 Uhr – Hallo Welt

Bin da, wer noch? Schlaf wird völlig überbewertet, hab ich mir sagen lassen. Liegen bleiben? Aufstehen? Schlafen kann ich sowieso nicht mehr. Also ab unter die Dusche und auf zur Uni. Was läuft hier eigentlich falsch, dass ich freiwillig um 7 in die Uni fahre? Hat das was mit dem Master zutun? Eigentlich auch egal, es gibt wichtigere Dinge zu klären. Beispielsweise wo ich um diese Zeit einen Kaffee bekomme. Ohne Sprit läuft kein Motor, und ohne Kaffee läuft kein Informatiker.

7:30 Uhr – Schwarzes Gold

Es wird Zeit zu tanken. So langsam gehe ich nämlich auf dem Zahnfleisch. Zum Glück sind die Kaffeestände jetzt offen. Smalltalk mit Hassan, Kaffee abholen. Die erste Tasse geht runter wie Öl. Jetzt kann es auch mit der Arbeit losgehen. Vor dem Raum stehen schon drei Leute. Was machen die hier? Wir fangen doch erst um neun an und ich hatte gehofft, ein bisschen meine Ruhe zu haben. Als Tutor mit Schlüssel kann ich sie schlecht stehen lassen, also lass ich sie rein und rüste mich mit Kopfhörern aus. Ich fange dann mal an, die Folien durchzuarbeiten.
Nach und nach trudeln meine Mitstreiter ein. Ich habe jetzt alle Folien gelesen und schau mal bei Twitter, was ich so verpasst habe.


9:15 Uhr – Let the show begin

Listenkomprehension – Das fängt ja gut an. Aus meinem Terminal winkt mir verstohlen eine haskellähnliche Syntax zu und grinst. So hatte ich mir das eigentlich nicht vorgestellt. Egal! Augen zu und durch. Die Folien fliegen über den Bildschirm. Dank des MacOS auf dem Laptop des Dozenten, darf das wörtlich genommen werden.
Langsam freunde ich mich mit iPython an. Aber warum werden verdammt noch mal keine Semikoli gesetzt und auf geschweifte Klammern verzichtet, aber einen Doppelpunkt muss ich nach jeder Funktionsdefinition machen. Ihr versteht mich, oder? Die neue Syntax ist echt ungewohnt und will mir noch nicht so gut über die Finger. Die Einrückung dagegen ist einfach. Als braves Programmiererlein ist mein Code ja selbstverständlich immer ordnungsgemäß eingerückt. Und kommentiert. Und dokumentiert. Und überhaupt!

11:30 Uhr – Kurzer Schreckmoment mit Modulo

Der Magen knurrt, die Konzentration lässt nach. Wir benötigen mittlerweile ein kleines Modul, aus vier gegebenen Buchstaben auswählt zufällig einen auswählt.

[cce lang=“python“]
import random
dice = int(random.random()*10%4)
#Add some magic here.
[/cce]

Meine naive Herangehensweise nutzt die Multiplikation mit zehn, um „ordentliche“ Zahlen zu bekommen. Was ich nicht bedacht habe: durch die Multiplikation ist das Ergebnis nicht mehr Normalverteilt. Die Wahrscheinlichkeit für das „Würfeln“ einer bestimmten Zahl ist nicht immer die gleiche. Besser ist es ohne Multiplikator.

[cce lang=“python“]
import random
dice = int(random.random()%4)
#Add some magic here.
[/cce]

Beim Casten auf einen Integer wird sowieso gerundet.Mein Magen knurrt – Ich habe Hunger…!

Mittagspause – Nichts geht mehr

Alle sind in der Mensa und bei mir gibts Stulle. Die eine Stunde Pause passt gut. Für das kommende Semester müssen noch Seminarfolien erstellt werden. Schneller Ordnerwechsel mit [cce inline=“true“ lang=“bash“]cd[/cce] – nichts geht mehr.
Sieht aus als hätte sich der Fileserver verschluckt. Also mach ich mich auch auf den Weg in die Cafeteria. Kaffee kann schließlich nicht schaden. Bei meiner Rückkehr hat sich die Maschine von ihrem Bäuerchen erholt und es kann weitergehen.

13 Uhr – Nach der Aufgabe, ist vor der Aufgabe

Zu jedem neuen Thema gibt es kleine Aufgaben. Durch die gute Struktur des Seminars, bauen die Aufgaben auch aufeinander auf, was das Verständnis ungemein fördert. Doof nur, dass man vorher nicht weiß, was die nächste Aufgabe bringt oder welche Struktur man benötigt. Ich verändere meine Datenstruktur erneut und löse die Aufgabe. Nächstes Thema. Oh, eine weiterführende Aufgabe. Datenstrukturmodifikation die drölfte. Langsam wird es echt lächerlich. An die Doppelpunkte hab ich mich mittlerweile gewöhnt. So hässlich ist Python gar nicht. Vielleicht erhebe ich es doch noch zu meiner favorisierten Programmiersprache und werde zum Skriptkiddie.

15 Uhr – Habe ich „nicht hässlich“ gesagt?

Das nehme ich zurück! Wer hat sich denn dieses komische Klassenprinzip ausgedacht. Jede Methode bekommt einen [cce inline=“true“ lang=“python“]self[/cce] Parameter – Hallo? Statische Methoden bekommen es allerdings nicht. Klingt erstmal logisch. Wenn sie nicht noch im Nachhinein als statische Methode deklariert werden müssten. Wozu lass ich dann eigentlich das [cce inline=“true“ lang=“python“]self[/cce] weg?
Ich widme mich fluchend meiner nächsten Aufgabe. Es soll ein Stack programmiert werden, ohne Listen zu verwenden. Wenigstens klappt das nach einigen Syntaxfrickelein mehr oder minder problemlos.
Für heute reicht es definitiv. Wenn ich es richtig verstanden habe, geht es morgen unter anderem um SVGs. Man darf gespannt sein

Rico Magnucki

Rico Magnucki

http://magnucki.de

21st Century Digital Boy und Blog-Gründer. Studiert naturwissenschaftliche Informatik in Bielefeld. Auf dem Blog ist er der Ansprechpartner für LaTeX, schreibt Tutorials, dreht die Videos für YouTube und durchforstet das Internetz nach spannenden Dingen.

Navigation