In diesem Level werden wir unsere ersten Zeilen Python kennenlernen. Wir werden lernen, was ein integer, ein float, ein string ist, wie wir mit Python Text ausgeben und einlesen können, erste Berechnungen anstellen können, die Ergebnisse von Berechnungen in Variablen speichern und wie wir unseren Code kommentieren können.
In [28]:
# Für die Standardausgabe benutzen wir die print() Funktion
print("Hallo Welt!")
In [29]:
# Wir können mit Kommata getrennt auch mehrere Werte ausgeben:
print("foo", "bar")
In [30]:
# Mit der help() Funktionen zeigen wir uns
# die Hilfe der print() Funktion an:
help(print)
In [31]:
# Ausgabe mit Seperatoren:
print("foo", "bar", sep="#")
In [32]:
# Ausgabe mit end-string:
print("foo", "bar", end="##\n")
print("test")
Im Python Interpreter werden Kommandos zeilenweise eingegeben und vom Interpreter zeilenweise interpretiert und ausgeführt. Der Interpreter gibt dabei immer das Ergebnis (genauer den Rückgabewert des Ausdrucks) zurück. Das bedeutet, wir können den Interpreter benutzen um erste Berechnungen durchzuführen und die mathematischen Operatoren kennenlernen.
In [33]:
4 + 34
Out[33]:
Genauer betrachtet besteht die Zeile 4 + 34
aus zwei Literalen (4
und 34
) und einem Operator (+
), die kombiniert den Ausdruck ergeben. Ein Literal ist die direkte Darstellung eines Wertes. Operatoren verknüpfen Werte und geben Werte zurück.
Bei den Werten im obigen Beispiel handelt es sich um Werte vom Typ integer. Diese stellen ganze Zahlen dar.
In [34]:
print(3 + 4) # Addition
print(4 - 6) # Subtraktion
print(3 * 7) # Multiplikation
print(3 // 2) # Ganzzahlige Division
print(3 % 2) # Division mit Rest
print(3 / 2) # Division
print(2 ** 4) # Potenz, alternativ pow(2, 4)
print(4 << 1) # Bitshift nach links, alternativ 4 * (2 ** 1)
print(4 >> 1) # Bitshift nach rechts, alternativ 4 // (2 ** 1)
print(5 ^ 1) # bitweises XOR
Oben sind die wichtigsten Operatoren für Werte des Integer Typs aufgelistet. Bemerkenswert ist, dass es drei Arten der Divison gibt: die ganzzahlige Division, die (ganzzahlige) Division mit Rest und die "normale" Division. Die ganzzahlige Division liefert ein abgerundetes Ergebnis als Integer, die Division mit Rest liefert den Rest der ganzzahligen Divison und die "normale" Division liefert einen Wert des Typen float.
In [35]:
print(4.5 + 3.8)
Ein float repräsentiert Fließkommazahlen. Dieselben Operatoren, die oben auf Integer angewandt wurden, können auch auf floats angewendet werden. Wichtig ist, dass dabei das Ergebnis stets vom Typ float ist.
Zum Umwandeln bieten die Typen Funktionen an, so kann ein Objekt mit der int()
Funktion in einen integer und mit derfloat()
Funktion in einen float umgewandelt werden. Beim Umwandeln eines integers in einen float gehen allerdings etwaige Nachkommastellen verloren.
In [36]:
print(int(3.5))
print(float(4))
In [37]:
ham = 4
egg = 12
ham_price = 2.99
egg_price = 0.49
print(ham, egg)
print(ham_price, egg_price)
print()
print("ham: ", ham * ham_price)
print("egg: ", egg * egg_price)
summ = ham * ham_price + egg * egg_price
print("sum: ", summ)
Bei der Benennung von Variablen sollte darauf geachtet werden, kurze aber verständliche Variablennamen zu benutzen, da so klar ist wozu die Variable benutzt wird. Auf keinen Fall sollten Variablennamen wie l
, O
oder I
benutzt werden, da diese, je nach Schriftart, wie 0
oder 1
aussehen können.
In [38]:
# den Typen eines Wertes können wir mit type() bestimmt werden:
print(type("a"))
print(type(2))
print(type(4.8))
Python besitzt eine streng dynamische Typisierung, das heißt:
Bei jeder neuen Zuweisung wird der Wert einer Variable überschrieben, dabei kann sich der Typ des Werts ändern.
In [39]:
s = "String"
print(type(s))
s = 4
print(type(s))
In [40]:
hallo = 'Hallo Welt!'
text = "Programmieren mit Python."
print(hallo, text, sep="\n")
Strings sind allerdings nicht auf eine Zeile begrenzt. Multiline strings werden durch dreifache Anführungszeichen definiert.
In [41]:
multiline = """
Dies ist ein
mehrzeiliger
String
mit Einrückung.
"""
print(multiline)
In [42]:
# Strings können wir miteinander "addieren", man spricht auch von konkatinieren
foo = "foo"
bar = "bar"
foobar = foo + bar
print(foobar)
In [43]:
# Strings können wir auch "multiplizieren":
print(10*"#" + " foo " + 10*"#")
In [44]:
# len() liefert uns die Länge eines Objektes:
text = "Programmieren mit Python."
length = len(text)
print(text)
print(length*"*")
print(length)
In [45]:
# mit der str() Funktion lassen sich Objekte in einen String umwandeln:
s = str(12)
print(s)
In [46]:
eingabe = input("Bitte etwas eingeben: ")
print(eingabe)
print(type(eingabe))
In [47]:
import keyword
print(keyword.kwlist)
In [48]:
True = 0 # Anzahl an Versuchen
If the implementation is hard to explain, it's a bad idea - Zen of Python
Kommentare dienen dazu den Quellcode für sich und andere lesbarer und verständlich zu machen. Kommentare können in Python mittels einer Raute (#
) eingefügt werden. Dabei kann eine ganze Zeile zum Kommentar werden, oder ein Kommentar hinter einem Befehl eingefügt werden, dabei sollten wir vor der Raute zwei Leerzeichen Platz lassen.
Dabei sollten wir beachten, dass ein Kommentar nie beschreiben sollte, was der Code macht, sondern warum der Code etwas macht.
In [49]:
# Berechnen der Summe zweier Zahlen
sum1 = 5 # erster Summand
sum2 = 7 # zweiter Summand
print(sum1 + sum2)
In [1]:
import this
In [ ]: