2  Erste Schritte mit Python und Jupyter

Dieses Tutorial ist das erste einer Reihe anfängerfreundlicher Tutorials zum Programmieren und zur Datenanalyse mit Python. Diese Tutorials basieren auf einem praktischen, programmbasierten Ansatz. Der beste Weg, das Material zu erlernen, besteht darin, den Code auszuführen und mit den Beispielen zu experimentieren.

Die folgenden Themen werden in diesem Tutorial behandelt:

2.1 Ausführen des Codes

Dieses Tutorial ist ein ausführbares Jupyter Notebook. Sie können dieses Tutorial ausführen und mit den Codebeispielen experimentieren, indem Sie es auf Ihrem eigenen Computer ausführen.

Ausführen auf Ihrem eigenen Computer

Um dieses Notebook auf Ihrem Computer auszuführen, müssen Sie Python über die Anaconda-Distribution einrichten und das Notebook herunterladen. Hier sind die Schritte, die Sie befolgen müssen, um loszulegen:

  1. Laden Sie die Anaconda-Distribution herunter und installieren Sie sie auf Ihrem Computer. Anaconda ist eine kostenlose Distribution von Python und R, die sich besonders für Data Science und Machine Learning eignet. Sie enthält bereits die meisten Bibliotheken, die Sie benötigen werden.

  2. Nach der Installation können Sie den “Anaconda Navigator” öffnen, eine Art Dashboard, das Sie durch Ihre Anaconda-Installation führt. Der Navigator ermöglicht den Zugriff auf die verschiedenen Softwarepakete, Umgebungen und Tools, die Teil der Anaconda-Distribution sind.

  3. Im Anaconda Navigator, finden Sie “Jupyter Notebook” unter der Liste der installierten Anwendungen. Klicken Sie auf “Launch”, um Jupyter Notebook zu starten.

  4. Ein neues Browserfenster sollte sich öffnen, in dem Sie die Verzeichnisstruktur Ihres Computers sehen. Navigieren Sie zu dem Ordner, in dem Sie Ihr Jupyter Notebook gespeichert haben, und klicken Sie darauf, um es zu öffnen.

  5. Jetzt können Sie das Jupyter Notebook verwenden! Es besteht aus Zellen, die Text (in Markdown) oder Code (in Python) enthalten können. Sie können eine Zelle ausführen, indem Sie sie auswählen und dann Shift+Enter drücken. Der Code wird ausgeführt und das Ergebnis wird unter der Zelle angezeigt.

  6. Wenn Sie mit Ihrer Sitzung fertig sind, können Sie das Jupyter Notebook speichern und schließen. Vergessen Sie nicht, auch den Anaconda Navigator zu schließen.

Beachten Sie, dass Sie mit Anaconda auch verschiedene Umgebungen für verschiedene Projekte erstellen können. Jede Umgebung kann ihre eigenen spezifischen Pakete und Versionen haben, sodass Sie sicherstellen können, dass Ihre Projekte isoliert voneinander laufen und nicht miteinander interferieren. Sie können Umgebungen direkt im Anaconda Navigator erstellen und verwalten.

2.2 Arithmetische Operationen mit Python ausführen

Beginnen wir mit der Verwendung von Python als Taschenrechner. Sie können Python mithilfe einer Codezelle in Jupyter schreiben und ausführen.

Arbeiten mit Zellen: Um eine neue Zelle in Jupyter zu erstellen, können Sie in der Menüleiste Einfügen > Zelle darunter einfügen auswählen oder einfach die Schaltfläche + in der Symbolleiste drücken. Sie können auch die Tastenkombination Esc+B verwenden, um eine neue Zelle zu erstellen. Sobald eine Zelle erstellt wurde, klicken Sie darauf, um sie auszuwählen. Anschließend können Sie den Zelltyp mithilfe der Menüoption Zelle > Zelltyp in Code oder Markdown (Text) ändern. Sie können auch die Tastenkombinationen Esc+Y und Esc+M verwenden. Doppelklicken Sie auf eine Zelle, um den Inhalt innerhalb der Zelle zu bearbeiten. Um Ihre Änderungen zu übernehmen und eine Zelle auszuführen, verwenden Sie die Menüoption Zelle > Zellen ausführen, klicken Sie auf die Schaltfläche Ausführen in der Symbolleiste oder verwenden Sie einfach die Tastenkombination Shift+Enter. Eine vollständige Liste der Tastaturkürzel können Sie über die Menüoption „Hilfe > Tastaturkürzel“ anzeigen.

Führen Sie die folgenden Codezellen aus, um Berechnungen durchzuführen und deren Ergebnisse anzuzeigen. Versuchen Sie, die Zahlen zu ändern, und führen Sie die geänderten Zellen erneut aus, um aktualisierte Ergebnisse anzuzeigen. Können Sie erraten, wofür die Operatoren //, % und ** verwendet werden?

Code
2 + 3 + 9
14
Code
99 - 73
26
Code
23.54 * -1432
-33709.28
Code
100 / 7
14.285714285714286
Code
100 // 7
14
Code
100 % 7
2
Code
5 ** 3
125

Wie Sie vielleicht erwarten, haben bestimmte Operatoren wie / und * gemäß mathematischen Konventionen Vorrang vor anderen Operatoren wie + und -. Sie können Klammern verwenden, z. B. ( und ), um die Reihenfolge anzugeben, in der Vorgänge ausgeführt werden.

Code
((2 + 5) * (17 - 3)) / (4 ** 3)
1.53125

Python unterstützt die folgenden arithmetischen Operatoren:

Operator Zweck Beispiel Ergebnis
+ Addition 2 + 3 5
- Subtraktion 3 - 2 1
* Multiplikation 8 * 12 96
/ Division 100 / 7 14.28..
// Ganzzahlige Division 100 // 7 14
% Modulus/Rest 100 % 7 2
** Exponent 5 ** 3 125

2.3 Mehrstufige Probleme mithilfe von Variablen lösen

Versuchen wir, die folgende Textaufgabe mit Python zu lösen:

Ein Lebensmittelgeschäft verkauft eine Tüte Eis für 1,25 $ und macht 20% Gewinn. Wenn es 500 Beutel Eis verkauft, wie hoch ist dann der Gesamtgewinn?

Wir können die uns zur Verfügung stehenden Informationen systematisch zusammentragen und die Aufgabenstellung nach und nach in eine mathematische Formel überführen, die wir dann mithilfe von Python auswerten können.

Cost of ice bag ($) = 1.25

Profit margin = 20% = .2

Profit per bag ($) = profit margin * cost of ice bag = .2 * 1.25

No. of bags = 500

Total profit = no. of bags * profit per bag = 500 * (.2 * 1.25)

Code
500 * (.2 * 1.25)
125.0

Somit erzielt das Lebensmittelgeschäft einen Gesamtgewinn von 125,0 $. Obwohl dies eine vernünftige Möglichkeit ist, ein Problem zu lösen, wird aus der Codezelle nicht ganz klar, was die Zahlen darstellen. Wir können jeder Zahl einen Namen geben, indem wir Python-Variablen erstellen.

Variablen: Beim Arbeiten mit einer Programmiersprache wie Python werden Informationen in Variablen gespeichert. Sie können sich Variablen als Container zum Speichern von Daten vorstellen. Die in einer Variablen gespeicherten Daten werden als Wert bezeichnet.

Code
cost_of_ice_bag = 1.25
Code
profit_margin = .2
Code
number_of_bags = 500

Die Variablen cost_of_ice_bag, profit_margin and number_of_bags enthalten nun die in der Textaufgabe bereitgestellten Informationen. Wir können den Wert einer Variablen überprüfen, indem wir ihren Namen in eine Zelle eingeben, und wir können Variablen mithilfe arithmetischer Operationen kombinieren, um andere Variablen zu erstellen.

Tipp: Während Sie den Namen einer vorhandenen Variablen in eine Codezelle in Jupyter eingeben, können Sie die ersten paar Zeichen eingeben und die “Tabulatortaste“ Tab drücken, um den Variablennamen automatisch zu vervollständigen. Geben Sie pro in eine Codezelle unten ein und drücken Sie die Tabulatortaste, um die automatische Vervollständigung zu profit_margin durchzuführen.

Code
profit_margin
0.2
Code
profit_per_bag = cost_of_ice_bag * profit_margin
Code
profit_per_bag
0.25
Code
total_profit = number_of_bags * profit_per_bag
Code
total_profit
125.0

Wenn Sie versuchen, den Wert einer Variablen anzuzeigen, die nicht definiert ist, d. h. ihr mit der Zuweisungsanweisung Variablenname = Wert ein Wert zugewiesen wurde, zeigt Python einen Fehler an.

Code
net_profit = 100

Das Speichern und Bearbeiten von Daten mithilfe entsprechend benannter Variablen ist eine hervorragende Möglichkeit, die Funktionsweise Ihres Codes zu erklären.

Lassen Sie uns das Ergebnis der Textaufgabe mit einer freundlichen Nachricht anzeigen. Wir können dies mit der print Funktion tun.

Funktionen: Eine Funktion ist ein wiederverwendbarer Satz von Anweisungen. Eine Funktion nimmt eine oder mehrere Eingaben entgegen, führt bestimmte Operationen aus und gibt häufig eine Ausgabe zurück. Python bietet viele integrierte Funktionen wie print und ermöglicht uns auch die Definition unserer eigenen Funktionen.

Code
print("The grocery store makes a total profit of $", total_profit)
The grocery store makes a total profit of $ 125.0

print: Die Funktion print dient der Anzeige von Informationen. Es werden eine oder mehrere Eingaben benötigt, bei denen es sich um Text (in Anführungszeichen, z. B. Das ist Text), Zahlen, Variablen, mathematische Ausdrücke usw. handeln kann. Im nächsten Abschnitt erfahren Sie mehr über Variablen und Funktionen.

Das Erstellen einer Codezelle für jede Variable oder mathematische Operation kann mühsam sein. Glücklicherweise können Sie mit Jupyter mehrere Codezeilen in einer einzigen Codezelle schreiben. Schreiben wir die Lösung unseres Wortproblems in einer einzigen Zelle um.

Code
# Speichern Sie Eingabedaten in Variablen
cost_of_ice_bag = 1.25
profit_margin = .2
number_of_bags = 500

# Führen Sie die erforderlichen Berechnungen durch
profit_per_bag = cost_of_ice_bag * profit_margin
total_profit = number_of_bags * profit_per_bag

# Ergebnis anzeigen
print("The grocery store makes a total profit of $", total_profit)
The grocery store makes a total profit of $ 125.0

Beachten Sie, dass wir das Zeichen # verwenden, um Kommentare in unseren Code einzufügen.

Kommentare: Kommentare und Leerzeilen werden während der Ausführung ignoriert, sind aber nützlich, um anderen Menschen (einschließlich Ihnen selbst) Informationen darüber zu geben, was der Code tut. Kommentare können inline (am Ende eines Codes), in einer separaten Zeile oder sogar über mehrere Zeilen hinweg erfolgen.

Inline- und einzeilige Kommentare beginnen mit #, während mehrzeilige Kommentare mit drei Anführungszeichen beginnen und enden, z. B. “““. Hier sind einige Beispiele für Codekommentare:

Code
my_favorite_number = 1 # ein "Inline-Kommentar"
Code
# Dieser Kommentar ist in einer separaten Zeile
my_least_favorite_number = 3
Code
"""Das ist ein mehrzeiliger Kommentar.
Schreibe so wenig oder so viel wie du möchtest.

Kommentare sind sehr hilfreich für Leute, die 
deinen Code lesen, aber versuche sie kurz und prägnant zu halten.

Außerdem, wenn du gute Variablennamen verwendest, dann ist dein Code 
oft selbsterklärend und du benötigst vielleicht nicht einmal Kommentare!
"""
a_neutral_number = 5

2.4 Bedingungen mit Python auswerten

Neben arithmetischen Operationen bietet Python auch mehrere Möglichkeiten zum Vergleichen von Zahlen und Variablen.

Operator Beschreibung
== Überprüfen, ob die Operanden gleich sind
!= Überprüfen, ob die Operanden ungleich sind
> Überprüfen, ob der linke Operand größer als der rechte ist
< Überprüfen, ob der linke Operand kleiner als der rechte ist
>= Überprüfen, ob der linke Operand größer oder gleich dem rechten ist
<= Überprüfen, ob der linke Operand kleiner oder gleich dem rechten ist

Das Ergebnis einer Vergleichsoperation ist entweder True oder Falsch (beachten Sie die Großbuchstaben T und F). Dies sind spezielle Schlüsselwörter in Python. Probieren wir ein Experiment mit Vergleichsoperatoren aus.

Code
my_favorite_number = 1
my_least_favorite_number = 5
a_neutral_number = 3
Code
# Überprüfung auf Gleichheit - True
my_favorite_number == 1
True
Code
# Überprüfung auf Gleichheit - False
my_favorite_number == my_least_favorite_number
False
Code
# Überprüfung auf Ungleichheit - True
my_favorite_number != a_neutral_number
True
Code
# Überprüfung auf Ungleichheit - False
a_neutral_number != 3
False
Code
# Überprüfung auf größer - True
my_least_favorite_number > a_neutral_number
True
Code
# Überprüfung auf größer - False
my_favorite_number > my_least_favorite_number
False
Code
# Überprüfung auf kleiner - True
my_favorite_number < 10
True
Code
# Überprüfung auf kleiner - False
my_least_favorite_number < my_favorite_number
False
Code
# Überprüfung auf größer oder gleich - True
my_favorite_number >= 1
True
Code
# Überprüfung auf größer oder gleich - False
my_favorite_number >= 3
False
Code
# Überprüfung auf kleiner oder gleich - True
3 + 6 <= 9
True
Code
# Überprüfung auf kleiner oder gleich - False
my_favorite_number + a_neutral_number <= 3
False

Ebenso wie arithmetische Operationen kann auch das Ergebnis einer Vergleichsoperation in einer Variablen gespeichert werden.

Code
cost_of_ice_bag = 1.25
is_ice_bag_expensive = cost_of_ice_bag >= 10
print("Is the ice bag expensive?", is_ice_bag_expensive)
Is the ice bag expensive? False

2.5 Bedingungen mit logischen Operatoren verbinden

Die logischen Operatoren and, or und not wirken auf Bedingungen und True & False Werte (auch bekannt als boolesche Werte). and und or wirken auf zwei Bedingungen, während not auf eine einzelne Bedingung wirkt.

Der Operator and gibt True zurück, wenn beide Bedingungen zu True ausgewertet werden. Andernfalls gibt er False zurück.

a b a and b
True True True
True False False
False True False
False False False
Code
my_favorite_number
1
Code
my_favorite_number > 0 and my_favorite_number <= 3
True
Code
my_favorite_number < 0 and my_favorite_number <= 3
False
Code
my_favorite_number > 0 and my_favorite_number >= 3
False
Code
True and False
False
Code
True and True
True

Der Operator or gibt True zurück, wenn mindestens eine der Bedingungen zu True ausgewertet wird. Er gibt False nur zurück, wenn beide Bedingungen False sind.

a b a oder b
True True True
True False True
False True True
False False False
Code
a_neutral_number = 3
Code
a_neutral_number == 3 or my_favorite_number < 0
True
Code
a_neutral_number != 3 or my_favorite_number < 0
False
Code
my_favorite_number < 0 or True
True
Code
False or False
False

Der not-Operator gibt False zurück, wenn eine Bedingung True ist, und True, wenn die Bedingung False ist.

Code
not a_neutral_number == 3
False
Code
not my_favorite_number < 0
True
Code
not False
True
Code
not True
False

Logische Operatoren können zu komplexen Bedingungen kombiniert werden. Verwenden Sie runde Klammern oder Klammern ( und ), um die Reihenfolge anzugeben, in der logische Operatoren angewendet werden sollen.

Code
(2 > 3 and 4 <= 5) or not (my_favorite_number < 0 and True)
True
Code
not (True and 0 < 1) or (False and True)
False

Wenn keine Klammern verwendet werden, werden logische Operatoren von links nach rechts angewendet.

Code
not True and 0 < 1 or False and True
False

Experimentieren Sie mit arithmetischen, bedingten und logischen Operatoren in Python und nutzen Sie dabei die interaktive Natur des Jupyter-Notebooks. Wir werden in zukünftigen Tutorials mehr über Variablen und Funktionen erfahren.

2.6 Textstile mit Markdown hinzufügen

Das Hinzufügen von Erklärungen mithilfe von Textzellen (wie dieser) ist eine großartige Möglichkeit, Ihr Notizbuch für andere Leser und für Sie selbst informativ zu gestalten, wenn Sie in Zukunft darauf zurückgreifen müssen. Doppelklicken Sie auf eine Textzelle in Jupyter, um sie zu bearbeiten. Im Bearbeitungsmodus werden Sie feststellen, dass der Text etwas anders aussieht (z. B. hat die Überschrift ein ##-Präfix). Dieser Text wird mit Markdown geschrieben, einer einfachen Möglichkeit, Ihrem Text Stile hinzuzufügen. Führen Sie diese Zelle aus, um Sehen Sie sich die Ausgabe ohne Sonderzeichen an. Sie können zwischen der Quelle und der Ausgabe hin und her wechseln, um zu sehen, wie ein bestimmter Stil erstellt wird.

Sie können beispielsweise ein oder mehrere #-Zeichen am Anfang einer Zeile verwenden, um Kopfzeilen unterschiedlicher Größe zu erstellen:

# Kopfzeile 1

## Kopfzeile 2

### Kopfzeile 3

#### Kopfzeile 4

Um eine Liste mit Aufzählungszeichen oder Nummern zu erstellen, beginnen Sie einfach eine Zeile mit * oder 1..

Eine Liste mit Aufzählungszeichen:

  • Item 1
  • Item 2
  • Item 3

Eine nummerierte Liste:

  1. Apfel
  2. Banane
  3. Ananas

Sie können Text mit ** fett formatieren, z. B. **Dies ist ein fetter Text**, oder machen Sie ihn kursiv mit *, z. B. *Dies ist ein kursiver Text.* Sie können auch Links erstellen, z. B. [Dies ist ein Link](https://www.ku.de/wfi). Auch Bilder lassen sich ganz einfach einbetten:

![](https://www.ku.de/fileadmin/_processed_/a/a/csm_WFI_Logo_12df3953ca.webp)

Ein weiteres wirklich nettes Feature von Markdown ist die Möglichkeit, Codeblöcke einzubinden. Beachten Sie, dass Codeblöcke innerhalb von Markdown-Zellen nicht ausgeführt werden können.

# Perform the required calculations
profit_per_bag = cost_of_ice_bag * profit_margin
total_profit = number_of_bags * profit_per_bag

# Display the result
print("The grocery store makes a total profit of $", total_profit)

Die vollständige Syntax von Markdown können Sie hier erfahren: https://learnxinyminutes.com/docs/markdown/

2.7 Weiterführende Literatur und Referenzen

Im Folgenden finden Sie einige Ressourcen zum Erlernen weiterer arithmetischer, bedingter und logischer Operationen in Python: