Python3 – Strings und Zahlen

Hier nun der Teil zu Strings und Integer in meiner Python3 Schnelleinstiegs Serie.

Strings

Wie in andern Sprachen auch, ist ein String eine Zeichenfolge. In Python hat diese eine beliebige Länge und ist auch Binär sicher (Unterstützt somit 0-Bytes).

Ob Strings in einfachen oder doppelten Anführungszeichen geschrieben werden, macht keinen Unterschied. Lediglich muss man in einem String der in Doppelten Anführungszeichen steht, das einfache Anführungszeichen nicht Escapen und umgekehrt.

Generell kann man sich bei Python übrigens das Escapen in RegEx Ausdrücken sparen, wenn man den String entsprechend kennzeichnet:

Eine weitere Besonderheit sind auch mehrzeilige Strings. Diese werden mit 3 Anführungszeichen ein- und aus geleitet. Einfach oder doppelt macht auch hier keinen Unterschied.

String Funktionen

Hier noch ein paar nützliche Funktionen mit Strings

Zahlen

In python wird zwischen Ganzzahlen (Int) und Fliesskommazahlen (Float) unterschieden:

Wie im Beispiel zu sehen, wandelt Python3 beim Dividieren von Integer automatisch nach Float um. Das war in Python2 noch nicht so.

Mehr muss im Rahmen eines Schnelleinstieges gar nicht gesagt werden.  Es stehen ansonsten alle Vergleichsoperatoren von hier zur Verfügung.

Konvertieren

Zwischen allen drei Typen (str, float, int) kann übrigens auch einfach konvertiert werden.

Der Schnellkurs

Bei Fragen hinterlasse mir  einfach ein Kommetar.

Python3 – Bedinungen

Bei den Bedinungen if, elif oder while, prüfen wir eigentlich nur ob ein Wert oder eine Bedinung True oder False ist.

Als Vergleichsoperationen stehen zu Verfügung:

Verglichen werden, kann so einiges. Das Ergebnis ist immer ein Boolscher Wert, True oder False. Verglichen werden können Strings, genauso wie Integer oder Float Werte. Auch direkt das Ergebnis von Funktionen, hier ein Beispiel:

Als Operatoren stehen and, or und not zur verfügung:

Die Bedingte Code Ausführung klappt nun mit dem bekannten if, else und elif. Wichtig hier die Syntax von Python, Es wird ein Block durch den Doppelpunkt gestartet, der solange besteht wie eingerückt wird:

Simpel oder?

Der Schnellkurs

Bei Fragen hinterlasse mir  einfach ein Kommetar.

Python3 – Variablen

Variablen

Variablennamen in Python sind erstmal Case Sensitiv. Ansonsten sind folgende Zeichen erlaubt:

  • A bis Z und a bis z
  • 0-9 (nur nicht an erster Stelle)
  • _ (undersocre)
  • unicode zeichen, was aber nicht ratsam ist.

Ein Dollar Zeichen am Anfang wird nicht benötigt. Spart auf Dauer auch wieder einiges an getippten Zeichen.

Und dann gibt es einen großen Unterschied zu sprachen wie Java oder C. In diesen werde nämlich Variablen typisiert. Das ist in Python jedoch nicht der Fall. Eine Variable in Python hat keinen Typ. Wohl aber das Objekt, auf welche die Variable verweist.

Somit funktioniert das folgende problemlos:

Sprich eben noch auf ein int Objekt verwiesen, kann die variable im nächsten Moment auf einen String zeigen. Variablen können auf alles verweisen, auch auf Funktionen. Dazu später mehr.

Es bleibt noch zu merken das eine Variable erst zur Laufzeit entsteht und zwar zum Zeitpunkt der ersten Zuweisung.

Gültigkeit

Bei der Gültigkeit einer Variable gibt es einen etwas eigenwilligen Ansatz. Der ist aber auch der Tatsache geschuldet böse Globalen Variablen zu vermeiden. Für die Beispiele ein Hintergrund: def leitet eine Funktion ein. Dann fangen wir an:

Dies funktioniert, da  s nicht innerhalb der Funktion lokal definiert ist. Es wird (lesend) auf die globale Variable s zugegriffen.

Hier erfolgt aus Ausgabe:

Die Variable s in der Funktion f bleibt nun eine lokale Variable innerhalb der Funktion und hat wie jede andere in Funktionen definierten Variablen keinen Einfluss außerhalb der Funktion.

Der mix geht jetzt natürlich nicht:

Dieses Chaos ergibt zu recht ein: UnboundLocalError: local variable ‘s’ referenced before assignment

Das Chaos könnte man nun mit dem global Schlüsselwort gültig machen. Aber sollte man das wirklich mal brauchen läuft mit dem Code sowieso irgend etwas falsch.

Der Schnellkurs

Bei Fragen hinterlasse mir  einfach ein Kommetar.

Python3 – Hallo Welt, Syntax und der Interaktive Modus

Hallo Welt

Hallo Welt ist in Python schnell geschafft. Vorausgesetzt ihr habt Python3 erfolgreich installiert (wobei es fast auf jedem aktuellen *NIX von alleine mitkommt), braucht ihr nur eine Datei die auf .py endet.

Beispiel: hallo_welt.py

Wie aus anderen Scriptsprachen bekannt, wird in der ersten Zeile nach der Shebang (#!) der Pfad zum Interpreter angegeben. Um z.B. in Virtuellen Umgebungen flexible zu bleiben, geben wir hier nicht den direkten Pfad aus, sondern beziehen ihn immer aus unserem Environment.

Die Datei muss jetzt nur noch ausführbar gemacht werden, und kann dann ausgeführt werden:

Syntax

Hier unterscheidet sich nun Python von den verbreiteten C Ähnlichen Programmiersprachen. Das mag am Anfang nun etwas gewöhnungsbedürftig sein, aber man lernt es wirklich lieben.

Blöcke werden in Python nicht mit geschweiften Klammern gebildet, sondern durch einen Doppelpunkt gestartet. Alles was zu dem Block gehört, bleibt jetzt mindestens 2, optimal und verbreitet 4 stellen eingerückt. Hier sei noch gesagt, stellt euren Editor so ein das er aus Tabs entsprechend Leerzeichen macht. Sonst kann es mal zum Chaos kommen wenn ihr mit mehren Leuten zusammenarbeitet.

Beispiel:

Zeilenenden

Zeilenende müssen im Gegensatz zu vielen anderen Sprachen nicht gekennzeichnet werden. Eine Zeile ist zu ende, wenn sie zu ende ist. Ausnahme, das Zeilenende ist aufgehoben. Eine ziemlich geniale Sache, spart man sich doch das Tippen unzähliger Zeichen.

Entwertet wird das Zeilenende entweder von Hand, mit einem \, oder ist es automatisch wenn eine Klammer ( { [ nicht geschlossen ist.  Auch gibt es in Python eine bestimmte Sorte Strings, die Mehrzeilig sein kann. Einfach entweder 3x ” oder 3x ‘.

In Python gibt es übrigens keinen Unterschied zwischen Strings in einfachen oder doppelten Anführungszeichen. Lediglich muss ich die einfachen innerhalb doppelter nicht escapen und umgekehrt.

Dann zum Beispiel

Kommentare

Was Kommentare angeht ist Python auch sehr einfach. Einfach das Hash Zeichen. Jeweils von # wird bis zum Zeilenende kommentiert.

Mehrzeilig geht auch mit einer Art Trick. Dieser wird auch benutzt um Methoden und Funktionen zu Dokumentieren. Und zwar mit einem Mehrzeiligen String (“””)

Interaktiver Modus

Ein nützliches Feature in Python ist der Interaktive Modus. Er ist praktisch um schnell mal was auszuprobieren. Print braucht man nicht, alles wird direkt ausgegeben. Gestartet wird er durch die Eingabe python3, beendet mit Strg + D

Der Schnellkurs

Das war auch schon der erste Einstieg. Bei Fragen hinterlasse mir  einfach ein Kommetar.

Schnelleinstieg in Python3

Bei Python handelt es sich um eine verbreitete Programmiersprache, die nicht nur einfach, sondern auch schnell und mächtig ist. Sie wurde 1990 von Guido van Rossum veröffentlicht. Inzwischen gibt es bereits mehrere Jahre die Version 3 von Python, die jedoch nicht kompatibel zum Vorgänger ist. In der Version 3 wurde so manche unschönheit der Version 2 beseitigt. Vor einigen Jahren hat sich die Frage 2 oder 3 noch gestellt, heute jedoch fängt man nur noch mit 3 an.

Für jeden, der bereits (etwas) Programmiererfahrung hat, habe ich hier einen Schnelleinstieg zusammengestellt, welcher die wichtigsten Grundlagen einfach zu vermitteln versucht.

Und wer dann Tiefer einsteigen will, der findet z.B. diesem Buch alle Details.

Themen