In Python werden Dateien mit der Dateiendung .py gespeichert. Sie können mithilfe des Python-Interpreters ausgeführt werden.

Kommentare

Kommentare in Python werden mit # angelegt:

# This is a comment
print("This line will be printed!") # This is also a comment!
# print("This line is commented out and won't be printed!")

Variablen

Variablen in Python sind dynamisch typisiert. Das bedeutet, dass sie jeden beliebigen Datentyp zu jedem Zeitpunkt annehmen können. Es gibt in Python keine explizite Deklaration von Variablen, sie werden immer sofort initialisiert. Der Datentyp muss dank der dynamischen Typisierung nicht angegeben werden:

name = "Louis" # String
age = 18 # Integer
 
# Automatic conversion to a floating point number:
age += .5
print(age) # Output: 18.5
name = "Louis"
temp = ""
 
temp = name
 
print(temp) # Output: "Louis"

Datentypen

DatentypPythonBedeutungBeispiel
IntegerintGanzzahl-6, 0, 4, 69
FloatfloatKommazahl-1.25, 4.2, 1.0
StringstrZeichenkette”Louis”, “420”
BooleanboolWahrheitswertTrue, False

Der Datentyp einer Variable kann mithilfe der type()-Funktion abgefragt werden:

name = "Louis"
age = 18
 
type(name) # str
type(age) # int

Achtung!

Das Ergebnis der type-Funktion ist kein String sondern eine Klasse. Wenn der Typ der Variable in einem if-statement geprüft werden soll, kann folgendermaßen vorgegangen werden:

name = "Louis"
 
if type(name) == str:
	print("Variable `name` is a string!")

Zudem können Dateitypen auch explizit umgewandelt werden:

DatentypWertUmwandlungErgebnis
Integer41float(41)
str(41)
bool(41)
41.0
"41"
True
Float6.9int(6.9)
str(6.9)
bool(6.9)
6
"6.9"
True
String"Louis"int(Louis)
float(Louis)
bool(Louis)
Error
Error
True
BooleanTrueint(Louis)
float(Louis)
str(Louis)
1
1.0
"True"

Besonderheiten

  • Integer haben keinen festen Wertebereich und können beliebig groß werden.
  • Strings können mit " und mit ' definiert werden.

Strings

Einzelne Zeichen in einem String in Python haben einen Index (0-Indexiert): J A N U A R Y 0 1 2 3 4 5 6 Strings können demnach ähnlich einem Array indiziert werden:

month = "January"
 
month[3] # "u"
month[-5] # "n" (von hinten) 
 
month[3:6] # "uar"
month[0:3] # "Jan"
month[:3] # "Jan"

Achtung!

Wenn ein String mit string[-2] vom Ende aus indiziert wird, ist 1 und nicht 0 der erste Index.

Formatierung

Zum Formatieren von Strings sind sog. F-Strings empfohlen:

name = "Louis"
age = 18
 
print(f"My name is {name} and I'm {age} years old.")
 
# Geht auch bei Variablen:
fullName = f"{name} Escher"

Somit können variablen einfach in Strings eingefügt werden. In den {} eines F-Strings können auch Funktionen ausgeführt werden:

result = f"Ergebnis: {2 * 21}" # "Ergebnis: 42"

Zudem können Zahlen formatiert werden:

balance = 90.129
output = f"Guthaben: {balance:.2f}€" # Guthaben: 19.13€"

Für einen Überblick aller Formatierungsoptionen kann die Python-Dokumentation zur Hilfe gezogen werden.

Operatoren

Folgende Operatoren sind in Python enthalten:

OperatorZeichenBeispiel
Addition+5 + 3 = 8
Subtraktion-5 - 3 = 2
Multiplikation**5 * 3 = 15
Division/5 / 2 = 2.5
Ganzzahl-Division//5 // 2 = 2
Modulo%5 % 2 = 1
Potenzierung**5 ** 2 = 25

If-Statements

If-Statements in Python fungieren wie folgt:

a = 5
 
if a == 5:
	print("A is 5")

Zudem können Else- und Else-If-Statements verwendet werden:

a = 5
 
if a == 5:
	print("A is 5")
elif a == 6:
	print("A is 6")
else:
	print("A is neither 5 or 6")

While-Loops

While-Loops sind abhängig von einer Bedingung. Die Schleife wird so lange laufen, bis die Bedingung falsch ist.

index = 0
 
while index < 2:
	print(index)
	index += 1
 
# Output: 0 1

Wie in allen Programmiersprachen besteht bei einem While-Loop die Gefahr einer Endlosschleife, falls keine Abbruchbedingung vorliegt.

User-Interaktion

Mithilfe der input()-Funktion kann auf den Input des Users in der Konsole gewartet werden:

name = input("Bitte Namen eingeben: ")
 
print(f"Hello, {name}")

Die input()-Funktion liefert immer einen String zurück. Daten (wie z.B. Nummern) müssen zuerst umgewandelt werden:

number = int(input("Gebe eine Zahl ein: "))

Code-Snippet

Für die Umwandlung einer User-definierten Zahl kann das convertToNumber Code-Snippet verwendet werden.

Funktionen

Funktionen in Python werden mit dem def-Keyword definiert:

def welcome():
	print("Welcome!")
 
# Aufrufen der Funktion:
welcome()

Parameter

Funktionen können Parameter haben, durch die Informationen an die Funktion weitergegeben werden können:

def welcome(name: str):
	print(f"Welcome, {name}!")
 
welcome("Louis")

Mithilfe von : [TYPE] kann dem Parameter zudem explizit ein Typ zugewiesen werden, wie oben zu sehen ist.

Rückgabewerte

Eine Funktion kann mit Hilfe des return-Keywords einen Wert zurückgeben:

def calculateBmi(weight: int, size: float):
	bmi = weight / (size ** 2)
	return bmi
 
bmi = calculateBmi(69, 1.80)
print(f"Your BMI: {bmi}") # Output: "Your BMI: 21.2962962963"

Scoping

Alle Variablen, die in einer Funktion definiert sind, sind nur innerhalb der Funktion verfügbar:

def function():
	a = 5
	print(a) # Output: 5
 
print(a) # Error

Eine Variable innerhalb einer Funktion kann demnach auch eine globale Variable überschreiben:

a = 2
 
def function():
	a = 5
	print(a) # Output: 5
 
print(a) # Output: 2

Mit der id()-Funktion kann die Speicheradresse einer Variable / eines Objekts erlangt werden:

a = 2
 
def function():
	a = 5
	print(id(a)) # Output: 1416578335088
 
print(id(a)) # Output: 1416578335120

Sollte eine globale Variable innerhalb einer Funktion benötigt werden, kann das global-keyword verwendet werden:

a = 2
 
def function():
	global a
	a = 5
	print(a) # Output: 5
 
function()
print(id(a)) # Output: 5