Wir hatten uns das letzte Mal mit so allerlei Kleinzeugs erstmal beschäftigt,
also wie geht man mit Strings um, wie geht man mit Funktionen um und so weiter.
Da möchte ich auf so ganz kurze Sachen nochmal darauf hinweisen.
Wir haben also einerseits Buchstaben, sind Strings der Länge 1 und mit denen kann man spielen.
Wir hatten hier so etwas wie, dass man aus denen die Unicode Zahl machen kann und wieder zurück und mit der Zahl kann man rechnen und dann kann man irgendwelchen Schabernack machen.
In diesem Beispiel Groß und Kleinschreibung.
Wenn wir Strings in Python machen wollen, machen wir das typischerweise, indem wir ein Gänsefüßchen davor machen und ein Gänsefüßchen hinten dran machen.
Dann kann man aber immer nur Strings machen, die eigentlich keine, die nur auf einer Zeile sind.
Wenn man zum Beispiel Zeilenwechsel haben will, dann macht man einfach ein Wechsel als N rein.
Dafür gibt es diese Technik, nennt man Escaping.
Man sagt nicht einfach N oder tippt nicht einfach etwas, sondern es gibt einen Spezialbuchstaben in diesem Fall.
Backslash und der heißt, das was hier nachkommt, lesen wir als einen Befehl.
Backslash N ist der Befehl einen Zeilenumbruch zu machen.
Backslash A ist ein Bell-Character, den haben Sie nicht auf Ihrer Tastatur einzufügen.
Escaping hat immer das Problem, wie schreibt man denn ein Escape-Character selber, wenn ich ein Backslash schreiben will.
Wie mache ich das? Ganz einfach, Escape-Backslash. Also Backslash Backslash ist der Befehl, der Escape-Befehl einen Backslash zu schreiben.
Das macht man relativ häufig beim Programmieren. Sehr häufig sind irgendwelche Buchstaben irgendwo verboten.
Durch das Escaping kriegt man sie dann doch. Das wollte ich hier nochmal hervorheben.
Wenn wir Gänsefüße am Anfang und am Ende machen, dann können wir natürlich nicht einfach Gänsefüße in die Mitte schreiben, denn sonst denkt Python, der String ist jetzt zu Ende.
Was macht man? Escaping. Man schreibt ein Backslash Gänsefüße.
Genauso, wenn ich einen einfachen Quote am Anfang und am Ende habe, dann muss ich den einfachen Quote eskapen, wenn ich ihn als Character darin habe.
Oder aber, ich mache einen Rostring, also ich schreibe vor die Gänsefüße hier ein R.
Und dann wird escaping abgeschaltet und dann heißt Backslash einfach Backslash.
Aber ich kann keine Gänsefüße in den Gänsefüßchen String rein machen.
Unicode kann man einfach machen, indem man die Unicode Zahlen reinschreibt, in diesem Fall im Hex oder sogar den Namen reinschreibt.
Und eine sehr hübsche Sache sind die sogenannten F-Strings. Wenn man Strings zusammenbaut, dann kann man das machen, indem man einfach Variabeln namen, zum Beispiel, oder Sachen, die man ausrechnen will oder so etwas, einfach in geschweifte Klammern setzt.
Das ist auch so eine Art Escaping-Mechanismus. Escaping heißt ja immer entfliehen. Die geschweiften Klammern hier entfliehen dem String bis auf die Python-Ebene.
Und auf der Python-Ebene hat course hier eine Bedeutung, das ist nämlich eine Variable, und die hat den Wert ewgs. Das heißt, wenn ich in dem F-String auf die Python-Ebene entfliehe, dann kriege ich den Wert ausgerechnet.
Das ist also auch eine Form von Escaping. Und da kann man allerlei Schabernack machen und wir haben darüber geredet.
Wir hatten über Funktionen geredet, einerseits, dass man Funktionen mit Namen machen kann, mit Einrückung oder so etwas.
Oder man kann Funktionen ohne Namen machen durch das Lambda. Nur wenn Ihnen irgendwann mal ein Lambda über den Weg läuft, dann erinnern Sie sich daran, da war doch was.
Das sind anonyme Funktionen. Die sind manchmal ganz bequem zu haben. Ich bin nicht böse, wenn Sie selber keine anonymen Funktionen schreiben,
aber wenn Sie irgendwo mal ein Lambda sehen, dann sollten Sie wissen, da muss ich mal beim Kohlhase oder ewgs Folien nachgucken.
Denn das läuft einem über den Weg und man wundert sich sonst, was das ist.
Genau, Beispiel. Und dann gibt es verschiedenste Arten, wie man Funktionen mit Argumenten versorgen kann.
Die gute alte Art ist, dass man Parameter einfach einen nach dem anderen abgibt und die Argumente, die passenden, auch einer nach dem anderen als Argumente übergibt der Funktion bei Funktionsaufruf.
Das ist manchmal schlecht. Ab fünf Argumenten kann ich mir nicht mehr merken, welches das letzte und das vorletzte ist oder so etwas.
Dann kann man Dinge machen, dass man sie mit solchen Schlüsselwertpaaren übergibt. Das ist einfach in vielen Situationen angenehmer.
Das hat auch die Möglichkeit, dass man eben dem Schlüsselwertpaar sozusagen einen Defaultwert übergeben kann.
Das heißt, wenn ich Mode in diesem Fall nicht angebe, dann ist es auf jeden Fall R. Wenn ich was anderes will als R, muss ich halt eben einfach Mode angeben im Open.
Wenn man sozusagen Sachen hat, die fast immer einen gewissen Wert haben, dann ist es gut, solche Defaultwerte zu übergeben.
Und dann gibt es noch viele verschiedene Arten, sozusagen Restlisten, Argumentlisten, dass man mehr als man sagt, ich kann beliebig viele Argumente übergeben und die kann ich dann abfangen mit diesem Sternenoperator.
Das gleiche kann man mit Keywords machen, da hat man dann den Sternenoperator, der einem sozusagen das alles aufsammelt.
In einem Dictionary, das Dictionary kann man dann, wenn man hier noch Keyword-Argumente ganz viele kriegt, dann wird einem das automatisch hier in Dictionary verpackt und dann kann man mit dem Dictionary arbeiten, als hätten sie es selber gemacht.
Okay, irgendwelche Fragen bis dahin.
Sollen wir das mal nochmal probieren hier?
Ja.
Ja.
Ja.
Ja.
Presenters
Zugänglich über
Offener Zugang
Dauer
01:08:47 Min
Aufnahmedatum
2019-11-28
Hochgeladen am
2019-11-29 00:49:03
Sprache
de-DE