Python-Datentypen und Operatoren

PythonBeginner
Jetzt üben

Einführung

Willkommen in der Welt von Python! In diesem Lab lernen Sie die grundlegenden Bausteine der Python-Programmierung kennen: Datentypen und Operatoren. Wir werden uns mit Zahlen, Texten und Wahrheitswerten beschäftigen. Außerdem erfahren Sie, wie man Berechnungen durchführt und Vergleiche anstellt. Dieses Lab ist speziell für Anfänger konzipiert, daher gehen wir Schritt für Schritt vor. Machen Sie sich keine Sorgen, falls alles neu für Sie ist – wir begleiten Sie durch den gesamten Prozess. Fangen wir an!

Zahlen in Python verstehen

In diesem Schritt schauen wir uns die zwei wichtigsten Zahlentypen in Python an: Integer (Ganzzahlen) und Floats (Gleitkommazahlen bzw. Dezimalzahlen).

Öffnen Sie zuerst den Python-Interpreter. Dies ist ein Werkzeug, mit dem Sie Python-Code Zeile für Zeile ausführen können. Für Anfänger ist die Desktop-Oberfläche oft benutzerfreundlicher. Wenn Sie sich mit dem Terminal bereits sicher fühlen, können Sie für einen reibungsloseren Ablauf auch in den separaten Terminal-Tab oben links wechseln. Beide Wege führen zum gleichen Ergebnis.

Terminal Tab

Geben Sie Folgendes in Ihr Terminal ein:

python

Sie sollten nun das Zeichen >>> sehen. Das bedeutet, dass Python bereit für Ihre Befehle ist.

Python Interpreter

Beginnen wir mit Integern. Integer sind ganze Zahlen wie -1, 0 und 100.

books = 5
print(f"I have {books} books.")
type(books)

Ausgabe:

I have 5 books.
<class 'int'>

Hier haben wir eine Variable namens books erstellt und ihr den Wert 5 zugewiesen. Eine Variable ist wie eine Box, in der man Informationen speichern kann. Die Funktion print() gibt das Ergebnis auf dem Bildschirm aus. Wir haben einen sogenannten f-string verwendet (erkennbar an dem f vor den Anführungszeichen), um den Wert unserer Variable books ganz einfach in den Text einzubauen. Die Funktion type() verrät uns, dass books ein int (Integer) ist.

Als Nächstes schauen wir uns Floating-Point-Zahlen oder kurz Floats an. Das sind Zahlen mit einem Dezimalpunkt.

price = 19.99
print(f"This book costs ${price}.")
type(price)

Ausgabe:

This book costs $19.99.
<class 'float'>

Die Variable price ist ein float, da sie einen Dezimalpunkt enthält.

Lassen Sie uns nun eine einfache Rechnung durchführen. Python lässt sich hervorragend als Taschenrechner nutzen!

quantity = 3
total_cost = price * quantity  ## Let's calculate the total cost
print(f"The total cost for {quantity} books is ${total_cost:.2f}.")

Ausgabe:

The total cost for 3 books is $59.97.

Wir haben den Operator * verwendet, um price und quantity zu multiplizieren. Das Kürzel .2f im f-string formatiert die Zahl so, dass genau zwei Nachkommastellen angezeigt werden. Das Symbol # leitet einen Kommentar ein. Kommentare sind Notizen für uns Menschen, die von Python beim Ausführen des Codes ignoriert werden.

Probieren Sie ruhig eigene Berechnungen aus! Sie können Variablen mit neuen Werten überschreiben und sehen, was passiert.

Mit Text arbeiten (Strings)

In diesem Schritt lernen Sie Strings kennen, die in Python zur Darstellung von Text verwendet werden.

Erstellen wir eine String-Variable im Python-Interpreter. Strings werden immer von einfachen (') oder doppelten (") Anführungszeichen umschlossen.

name = "Alice"
print(f"Hello, {name}!")
type(name)

Ausgabe:

Hello, Alice!
<class 'str'>

Der Datentyp str steht in Python für eine Zeichenkette (String).

Strings können auf vielfältige Weise kombiniert oder bearbeitet werden. Probieren wir einige gängige Operationen aus.

## Zwei Strings miteinander verbinden (Konkatenation)
first_name = "John"
last_name = "Doe"
full_name = first_name + " " + last_name
print(full_name)

Ausgabe:

John Doe
## Einen String wiederholen
cheer = "Go! " * 3
print(cheer)

Ausgabe:

Go! Go! Go!
## Die Länge eines Strings ermitteln
print(len(full_name))

Ausgabe:

8
## Auf einzelne Zeichen zugreifen
print(full_name[0])  ## Das erste Zeichen abrufen
print(full_name[-1]) ## Das letzte Zeichen abrufen

Ausgabe:

J
e

Wichtig: Python beginnt beim Zählen bei 0. Das erste Zeichen befindet sich also am Index 0. Der Index -1 ist eine praktische Abkürzung, um direkt das letzte Zeichen zu erhalten.

Strings sind in Python unveränderlich (immutable). Das bedeutet, dass sie nach ihrer Erstellung nicht mehr modifiziert werden können. Sie können kein einzelnes Zeichen innerhalb eines Strings ändern. Sie können jedoch jederzeit neue Strings aus bestehenden erzeugen.

message = "Hello World"
uppercase_message = message.upper()
print(uppercase_message)

Ausgabe:

HELLO WORLD
lowercase_message = message.lower()
print(lowercase_message)

Ausgabe:

hello world

Die Methoden .upper() und .lower() erzeugen jeweils neue Strings. Die ursprüngliche Variable message bleibt dabei unverändert.

Wahr oder Falsch? (Booleans)

In diesem Schritt lernen Sie Boolean-Werte kennen, die nur zwei Zustände annehmen können: True (Wahr) oder False (Falsch). Sie sind unverzichtbar, um in Ihrem Code Entscheidungen zu treffen.

Erstellen wir einige Boolean-Variablen. Beachten Sie, dass True und False in Python immer mit einem Großbuchstaben beginnen.

is_learning = True
is_finished = False
print(f"Are we learning Python? {is_learning}")
type(is_learning)

Ausgabe:

Are we learning Python? True
<class 'bool'>

Der Datentyp bool repräsentiert Wahrheitswerte.

Vergleichsoperatoren werden verwendet, um zwei Werte gegenüberzustellen. Das Ergebnis eines solchen Vergleichs ist immer ein Boolean (True oder False).

x = 5
y = 10
print(x < y)   ## Ist x kleiner als y?
print(x == y)  ## Ist x gleich y?
print(x != y)  ## Ist x ungleich y?

Ausgabe:

True
False
True

Hier sind die gängigsten Vergleichsoperatoren: == (gleich), != (ungleich), < (kleiner als), > (größer als), <= (kleiner oder gleich), >= (größer oder gleich).

Sie können auch Strings vergleichen. Python sortiert diese dabei alphabetisch.

name1 = "Alice"
name2 = "Bob"
print(name1 < name2)  ## "Alice" kommt im Alphabet vor "Bob"

Ausgabe:

True

Logische Operatoren (and, or, not) werden genutzt, um Boolean-Ausdrücke zu kombinieren.

a = True
b = False
print(a and b)  ## True nur, wenn sowohl a ALS AUCH b True sind
print(a or b)   ## True, wenn entweder a ODER b (oder beide) True sind
print(not a)    ## Das Gegenteil von a

Ausgabe:

False
True
False

Diese Operatoren helfen Ihnen dabei, komplexe Bedingungen für Ihre Programme zu formulieren.

Umwandlung zwischen Datentypen

Manchmal ist es notwendig, einen Wert von einem Datentyp in einen anderen umzuwandeln. Dies nennt man Typumwandlung oder "Casting".

Wandeln wir einen String in eine Zahl um. Das ist besonders häufig der Fall, wenn man Eingaben von Benutzern erhält, da diese standardmäßig immer als String eingelesen werden.

age_string = "25"
age_number = int(age_string) ## String in Integer umwandeln
print(age_number + 5)

Ausgabe:

30
price_string = "1.99"
price_float = float(price_string) ## String in Float umwandeln
print(price_float * 2)

Ausgabe:

3.98

Wir nutzen int() für die Umwandlung in eine Ganzzahl und float() für Gleitkommazahlen. Aber Vorsicht: Wenn Sie versuchen, einen String umzuwandeln, der keine Zahl darstellt (z. B. int("hallo")), wird Python eine Fehlermeldung ausgeben.

Sie können Zahlen auch mit der Funktion str() in Strings umwandeln.

count = 50
count_string = str(count)
print("The count is " + count_string)

Ausgabe:

The count is 50

Schließlich können Sie Werte mit bool() in Wahrheitswerte umwandeln. Die Regeln sind simpel:

  • 0, leere Strings ("") und bestimmte leere Objekte ergeben False.
  • Fast alles andere ergibt True (jede Zahl ungleich Null, jeder nicht-leere String).
print(bool(100))      ## Zahl ungleich Null
print(bool(0))        ## Null
print(bool("Hello"))  ## Nicht-leerer String
print(bool(""))       ## Leerer String

Ausgabe:

True
False
True
False

Die Typumwandlung ist ein mächtiges Werkzeug, um verschiedene Datentypen harmonisch zusammenarbeiten zu lassen.

Alles zusammenfügen

In diesem letzten Schritt schreiben wir ein kleines Programm, das alles kombiniert, was wir bisher gelernt haben.

Wechseln Sie zum Tab WebIDE in der LabEx VM. Die WebIDE ist ein Online-Code-Editor, in dem Sie Ihre Python-Skripte schreiben und speichern können.

WebIDE online code editor

Detaillierte Informationen zur WebIDE-Oberfläche finden Sie in der LabEx VM WebIDE Dokumentation.

Erstellen wir eine neue Datei namens user_info.py im Verzeichnis ~/project mit diesem Befehl:

touch ~/project/user_info.py

Klicken Sie auf die neue Datei im Datei-Explorer auf der linken Seite, um sie im Editor zu öffnen.

Kopieren Sie den folgenden Code und fügen Sie ihn in die Datei ein:

## A simple program to practice data types

## Get user input (input is always a string)
name = input("Enter your name: ")
age_str = input("Enter your age: ")

## Convert age to an integer
age = int(age_str)

## Perform a simple calculation
years_to_100 = 100 - age
is_adult = age >= 18

## Create an output message using an f-string
output = f"""
--- User Information ---
Hello, {name}!
You are {age} years old.
You will be 100 years old in {years_to_100} years.
Are you an adult? {is_adult}
--- End of Report ---
"""

## Print the final result
print(output)

Dieses Skript nutzt die Funktion input(), um nach Name und Alter zu fragen. Da input() die Benutzereingabe immer als String zurückgibt, müssen wir das Alter mit int() in eine Zahl umwandeln. Das Skript erstellt dann einen mehrzeiligen f-string für die Ausgabe unter Verwendung von dreifachen Anführungszeichen ("""). Dies ist eine elegante Methode, um Text zu formatieren, der sich über mehrere Zeilen erstreckt. Zum Schluss werden Berechnungen durchgeführt und die formatierte Zusammenfassung ausgegeben.

Speichern Sie die Datei (sie sollte automatisch speichern) und führen Sie sie im Terminal mit diesem Befehl aus:

python ~/project/user_info.py

Das Programm wird Sie nach Ihrem Namen und Alter fragen. Sobald Sie diese eingegeben haben, erscheint die Zusammenfassung.

Enter your name: Alice
Enter your age: 25

--- User Information ---
Hello, Alice!
You are 25 years old.
You will be 100 years old in 75 years.
Are you an adult? True
--- End of Report ---
Program output example

Probieren Sie das Skript ruhig mehrmals mit verschiedenen Eingaben aus, um zu sehen, wie sich die Ausgabe verändert!

Zusammenfassung

Herzlichen Glückwunsch zum Abschluss dieses Labs! Sie haben einen riesigen ersten Schritt in die Welt der Python-Programmierung gemacht.

In diesem Lab haben Sie die grundlegenden Bausteine von Python kennengelernt:

  • Numerische Typen: Sie haben mit Integern (int) für ganze Zahlen und Floats (float) für Dezimalzahlen gearbeitet.
  • Strings (str): Sie haben gelernt, wie man Texte erstellt und manipuliert.
  • Booleans (bool): Sie haben True- und False-Werte erkundet und sie für Vergleiche genutzt.
  • Operatoren: Sie haben arithmetische (*), Vergleichs- (==, <) und logische (and, or) Operatoren eingesetzt.
  • Typumwandlung: Sie haben geübt, zwischen verschiedenen Datentypen zu wechseln, zum Beispiel einen String in eine Zahl zu verwandeln.

Diese Konzepte bilden das Fundament für alles, was Sie in Zukunft mit Python entwickeln werden. Üben Sie fleißig weiter und scheuen Sie sich nicht, im Python-Interpreter zu experimentieren – das ist einer der besten Wege, um zu lernen. Gut gemacht und viel Spaß beim Coden!