Python Variablen und Strings

Beim letzten Mal haben wir Python und Pycharm (hoffentlich) erfolgreich installiert.

Zum Testen des ganzen Setup haben wir das wohl einfachste Programm was möglich ist geschrieben, Hallo Welt ! Heute wollen wir uns den dazu geschriebenen Code mal genauer ansehen und gucken was denn Variablen sind.

print(“Hallo Welt")

Bei print handelt es sich um eine sogenannte Funktion, was das genau ist interessiert uns aber vorerst nicht. Aktuell ist es für uns nur wichtig zu wissen dass einer Funktion Parameter übermittelt werden können. In dem Fall unser “Hallo Welt”. Die doppelten Anführungszeichen sagen dabei aus, dass es sich hierbei um einen String handelt. Ein String ist eigentlich nur eine Zeichenkette und wir können hier auch was anderes als Hallo Welt eingeben. Zum Beispiel:

print(“4 + 4 “)

Das Ergebnis ist wie erwartet der String den wir im print angegeben haben.

Lassen wir aber nun die Anführungszeichen weg:

print(4 + 4 )

behandelt Python die Eingabe als eine Rechnung die es ausführt und gibt das Ergebnis dieser aus: 8. Zum Rechnen in Python sag ich aber im nächsten Tutorial noch was.

Kommentare:

Später wenn du größere Programme schreibst kann dein Code eventuell ziemlich verwirrend sein. Vor allem wenn das letzte Mal als du drüber geschaut hast schon ein paar Wochen her ist. Mit Hilfe von Kommentaren kannst du deinen Code kommentieren und dokumentieren:

print(“Hallo Welt “) # ich werde gar nicht ausgeführt !

Kommentare definieren wir mit einer #. Würden wir den Text nicht auskommentieren, würde das Programm abstürzen.

Variablen:

Variablen sollten eigentlich alle noch aus dem Matheunterricht können, aber trotzdem sag ich es nochmal. Variablen sind quasi Platzhalter für Zahlen innerhalb einer Rechnung. Dies stimmt auch in Python, nur das sie in Python Platzhalter oder Behälter für alles sind! Nicht nur Zahlen können in einer Variable gespeichert werden sondern auch Strings (also Zeichenketten). Aber Hier einfach mal Code dazu:

x = 42
print(x)

hallo = “Hallo Welt”
print(hallo)

Simpel und elegant !

In der ersten Anweisung definieren wir eine Variable mit dem Namen x und weisen ihr den Wert 42 zu. Anschließend geben wir sie aus.

Das gleiche machen wir auch mit der Variable hallo, ihr weisen wir nur den Wert “Hallo Welt” zu. Auch hier geben wir sie danach aus. Wie du siehst können wir Variablen in Python alle gleich behandeln, vollkommen egal was ihr Wert ist.

Hinweis am Rande.

Auch wenn Python die inneren Werte einer Variable relativ egal sind, so ist der Name der Variable es nicht unbedingt. Dieser sollte nämlich keine Sonderzeichen oder ü und ä besitzen.

§Ü” = 42 #geht nicht

Mit Zahlen anfangen kann eine Variable auch nicht, mitten drin ist jedoch okay.

7Tage = “Hat die Woche  !“  	#geht nicht
ipv4  = “Das internet Protokoll ! #geht

So das wars dann auch erstmal wieder. Beim nächsten Mal rechnen und spielen wir mit Variablen rum und lassen uns Input vom User geben.

Python, weitere Dinge zu Variablen.

Im heutigen Post sag ich noch ein wenig mehr zu Variablen und rechne mit diesen ein wenig rum.

Im letzten Post haben wir bereits das Grundprinzip von Variablen angeschaut und haben schon eine Rechnung mit diesen gemacht.

rechnung = 4 + 4 

Das Ergebnis, welches in der Variable rechnung gespeichert wird ist natürlich 8. Wir können aber auch alle anderen Rechen Operationen in Python ausführen:

minus   = 4 - 5 # -1
plus    = 4 + 5 #  9
geteilt = 4 /2  #  2
mall    = 4 * 2 #  8

Beim letzten mall haben wir die Grundlagen zu Variablen gelernt. Heute sag ich noch ein Paar Sachen dazu und wir rechnen mit vom User eingegeben Zahlen, auf gehts !

Allgemein können wir in Python alle Grundrechenarten (und sogar noch mehr !) mit einen einzigen Symbol darstellen, das sieht in etwa so aus:

minus   = 4 - 5 # -1
plus    = 4 + 5 #  9
geteilt = 4 /2  #  2
mall    = 4 * 2 #  8

einfach oder ? Wir müssen aber keine festen Zahlen benutzen sondern können auch Variablen dafür nehmen:

zahl1 = 4
zahl2 = 5
ergebnis = zahl1 + zahl2
print(ergebnis) # ergebnis ist 9

Was ist aber wen wir jetzt wollen das der Nutzer selber 2 Zahlen eingeben kann, die wir dann verrechnen ?

Wir benutzen einfach die Funktion input,  ganz einfach ! So wie schon bei der print Funktion können wir input einen Variable übergeben. Das besondere ist nur das uns input auch eine Variable zurück liefert, nämlich die Eingabe des Benutzers. Aber wie wärs mit ein wenig Code.

zahl1 = input("Die erste Zahl bitte ")
zahl2 = input("Die zweite Zahl bitte ")

print(zahl1 + zahl2)

Wie wir sehen will input  einen Parameter/Variable und gibt uns einen zurück. Das Programm wartet nun bei jeder einzelnen input Anweisung auf eine Eingabe des Benutzers. Nachdem dies getan wurde geht das Programm weiter.

Wir lassen uns also zwei Zahlen geben, rechnen diese zusammen und geben das Ergebnis so aus.

Die Krux an der Geschichte

Wenn du denn obigen Code ausprobiert hast ist dir das Problem wahrscheinlich schon aufgefallen sein das hier etwas nicht richtig ist.

Wenn wir zum Beispiel 4 als erstes und 2 als zweiten Parameter eingeben. Dann erwarten wir eine 6 als Antwort. Wir kriegen aber 42 als Antwort, wie kann das sein ? Das liegt an dem DatenTyp der Rückgabe. Dieser ist nämlich String und mit diesen kann Python auch “rechnen”.

string1 = "Hallo "
string2 = "Welt"

print(string1 + string2) # gibt "Hallo Welt" aus !

stringZahl1 = "4"
stringZahl2 = "2"
print(stringZahl1 + stringZahl2) #gibt also 42 aus 

Aber wie umgehen wir das nun ?

Recht simpel, den auch hier gibt es wieder eine Funktion, int. Die Funktion int macht nichts anderes als aus einer Variablen irgendeines Typen einen eine gante Zahl zu machen. Aber warum heist die Funktion so ? Weil Zeichenketten String und Ganz Zahlen (also nicht Komma Zahlen) Int oder Integer gennant werden.

Einen DatenTypen in einen anderen umzuwandeln nennt man übrigens oft casting oder Type Casting.

Mit diesen neuen Wissen sieht dan unser Code in etwa so aus:

zahl1 = input("Die erste Zahl bitte ")
zahl2 = input("Die zweite Zahl bitte ")

print(int(zahl1) + int(zahl2))

Bevor wir die Variablen zusammen rechnen machen wir sie zu Integers und kriegen somit das “korrekte” Ergebnis raus.

So das war jetzt vielleicht ein wenig viel Input auf einmal, aber probier ruhig ein wenig rum mit dem gelernten. Kann zum Beispiel String auch mit anderen Rechenoperationen bearbeitet werden ? Ansonsten hoffe ich es hat gefallen und hoffe das wir uns beim nächsten mall wiedersehen.