Betriebssysteme, Dateipfade und PowerShell mit VS Code

- Sind größere Software-Projekt in einem Notebook möglich?
- Was, wenn nur ein Mikro-Controller ohne Display zur Verfügung steht?
Visual Studio Code
- Open Source Text-Editor von Microsoft
- Lässt sich durch Erweiterungen zur vollständigen Entwicklungsumgebung anpassen

Terminals / Shells
- Öffnen Sie ein
PowerShell-Terminal in VS Code (Strg+Shift+ö) - wie lautet der Pfad zu dem Verzeichnis, in dem Sie starten?
- geben Sie
python -Vein- welche Version von python ist installiert?
- Falls keine installiert ist, installieren Sie sie aus dem Windows Store
- geben Sie
pythonein, um den Python Interpreter zu starten- speichern Sie
"Hallo, Welt!"in einer Variablen und geben Sie sie in der nächsten Zeile aus - Verlassen sie den Interpreter mit
quit()
- speichern Sie
- Erstellen Sie eine Datei
main.pyerstellen, die die Druckanweisung enthält, und sie mitpython main.pyausführen
Was ist ein Betriebssystem?
Was ist ein Betriebssystem?
- Eine zentrale Software, die Hardware und Anwendungsprogramme verwaltet.
- Beispiele:
- Windows
- macOS
- Linux/Unix
- Mobile Betriebssysteme wie Android und iOS
- Aufgaben:
- Verwaltung von Hardware-Ressourcen
- Dateisystem- und Speicherorganisation
- Nutzer- und Rechteverwaltung
Aufgaben eines Betriebssystems
- Ressourcenverwaltung: Zuweisung von CPU, Arbeitsspeicher, Speicherplatz
- Dateiverwaltung: Organisation und Zugriff auf Dateien und Ordner
- Benutzerverwaltung: Verwaltung von Benutzerkonten und Zugriffsrechten
- Schnittstellenbereitstellung: Bereitstellung von APIs und Befehlszeilen-Interfaces (Shells)
Bestandteile eines Betriebssystems
-
Kernel
- Kern des Betriebssystem
- Allokiert Rechenzeit, Arbeits- und externen Speicher
-
Shell
- Nutzerinterface wie Eingabeaufforderung
- Interpretiert Nutzereingaben
- Eingabe über Kommandozeile statt grafischem Nutzerinterface

* Beispiel: Windows Power Shell und Mac Terminal
Dateiverwaltung und Pfade
- Dateisystem: Hierarchische Struktur, in der Dateien und Ordner organisiert werden.
- Ermöglicht es, Daten strukturiert abzulegen und wiederzufinden.
- Wichtig: Ein guter Umgang mit Pfadangaben ist essenziell für die Softwareentwicklung.
Absolute vs. relative Pfade
Absolute Pfade
- Beschreiben den vollständigen Pfad von der Wurzel des Dateisystems.
- Beispiel in Windows:
C:\Users\Julian\Projekte\PythonApp\main.py
Relative Pfade
- Beschreiben den Pfad relativ zum aktuellen Arbeitsverzeichnis.
- Beispiel:
Wenn das ArbeitsverzeichnisC:\Users\Julian\Projekte\PythonAppist, dann verweist
./main.pydirekt auf die Datei.
Navigation im Dateisystem
Wichtige Befehle in PowerShell
- Wechseln des Verzeichnisses:
cd <Pfad>oderSet-Location <Pfad> - Auflisten von Dateien:
Get-ChildItem(Kurzform:lsoderdir) - Aktuelles Verzeichnis anzeigen:
Get-Location
Beispiel:
cd C:\Users\Julian\Projekte\PythonApp
ls
cd C:\Users\Julian\Projekte\PythonApp
ls
Möglichkeiten Python Code auszuführen
- Öffnen Sie einen neuen Order in VS Code, dieser wird zu Ihrem Arbeitsverzeichnis
- Erstellen Sie eine Datei
main.pyerstellen, die die Druckanweisung enthält
for i in range(10):
print(i)
1. In der Kommandozeile
python main.py
- Bin ich im richtigen Ordner?
- Bin ich in der richtigen Umgebung?
- Zum Ausführen
python <Dateiname>
Anlegen eines Versuchs im Beispiel create_experiment.py
from typing import Dict # Import des Dict Datentyps für Type-Hinting
def get_experiment_id() -> int:
"""Fragt nach der Experiment-ID und stellt sicher, dass die Eingabe korrekt ist (keine Floats oder Strings)."""
try:
# Eingabe der Experiment-ID
experiment_id = int(input("Bitte geben Sie die erste Experiment-ID ein (nur Ganzzahlen): "))
return experiment_id
except ValueError:
# Bei einem Fehler (z.B. Eingabe von einem String oder Float) erneut die Eingabe anfordern
print("Ungültige Eingabe. Bitte geben Sie eine ganze Zahl ein.")
return get_experiment_id() # Rekursion, um die Eingabe zu wiederholen
def get_experiment_leader() -> str:
"""Fragt nach dem Namen des Versuchsleiters."""
leader = input("Bitte geben Sie den Namen des Versuchsleiters ein: ")
return leader
...
Funktionen, Module und Pakete
- Funktionen sind wieder aufrufbare Code-Einheiten, denen Argumente als Parameter übergeben werden können
- Funktionen geben einen Rückgabewert aus, der weiterverarbeitet werden kann
Als Diagnostiker:in möchte ich mir die Mittelwerte der Herzrate und Leistung anzeigen lassen, um die Leistungsfähigkeit zur beurteilen

🎯 Lernziele
Nach dieser Einheit sind Sie in der Lage dazu * Funktionen in Python zu definieren und aufzurufen * Rückgaben von Funktionen zu definieren und diese zu nutzen * Eigene Module in Python anzulegen
def calc_mean(list_of_measurements : list[int]):
""" Eine Funktion, die eine Liste von Werten übernimmt und das arithmetische Mittel zurück gibt"""
mittelwert = sum(list_of_measurements) / len(list_of_measurements)
return mittelwert
mean = calc_mean(list_of_measurements = [1,2,3])
def <funktions_name>(<parameter>):
"""<Docstring: Kommentar zur Dokumentation>"""
<Berechnungen der Funktion>
return <Rückgabewert der Funktion>
Prozeduren
- Funktionen ohne Rückgabewert werden auch als Prozeduren bezeichnet
def print_mean(list_of_measurements : list[int]):
print(calc_mean(list_of_measurements))
return None # Kann auch entfallen
Module in Python
- Funktionen werden in Python of in Unterprogramme (eigene
.py-Dateien) ausgelagert - Unterprogramme im Python nennt man Module
- In der Regel sind dies eigene
*.pyDateien
Eigene Module
- Wird eine Python-Skript ausgeführt, so wird die Datei als Hauptmodul bezeichnet (
__main__) - Alle Module im gleichen Ordner können als Untermodul importiert werden
src/
│
├── main.py
└── calculation.py
# main.py
import calculation
calculation.calc_mean([1,2,3])
# calculation.py
def calc_mean(list_of_measurements : list[int]):
""" Eine Funktion, die eine Liste von Werten übernimmt und das arithmetische Mittel zurück gibt"""
mittelwert = sum(list_of_measurements) / len(list_of_measurements)
return mittelwert
✍️ Aufgabe
- Erstellen Sie ein neues Notebook
- Legen Sie ein Modul
calculation.pyan - Nutzen Sie es in Ihrem Notebook

Anstelle des gesamten Moduls können auch einzelne Funktionen importiert werden
from calculation import calc_mean
calc_mean([1,2,3])
Pakete
- Ab einer gewissen Komplexität macht es Sinn mehrere Module in einem Paket zusammenzufassen
- Hierzu wird ein Ordner mit dem Namen des Pakets angelegt
- Im Ordner befinden sich die Module und eine Datei
__init__.py(kann auch leer sein)
src/
│
├── main.py
└── /my_package
├── __init__.py
└── calculation.py
from my_package import calculation
calculation.calc_mean([1,2,3])
Definition des Hauptprogramms
- Python kann unterscheiden, ob eine Datei direkt ausgeführt wird oder als Modul importiert wird
- Beispielweise in
my_module_with_main.py
def bspfunktionfuerrueckgabe(eingabewert):
rueckgabewert = eingabewert * 2
return rueckgabewert
print("Ich stehe in der Datei:" + __name__)
if __name__ == "__main__":
print("Datei wurde direkt aufgerufen und die Main wird ausgeführt")
Vorsicht!
- Die Variable
__name__nimmt immer den Wert__main__an, wenn die Datei selbst direkt ausgeführt wird - Dies is unabhängig vom eigentlichen Dateinamen
Hauptprogramm
- Es is gute Praxis das Hauptprogramm
main.pyzu nennen und als Einstiegspunkt zu schreiben - Der Code des Hauptprogramms sollte in folgende
if-Statement verpackt werden:if __name__ == "__main__": ... - So können wir dazwischen Trennen, ob wir das Programm selbst ausführen oder ggf. importieren wollten z.B. um einzelne Funktionen für andere Anwendungen zu nutzen
✍️ Freiwillige Übungs-Aufgabe
🎯 Lernziele
Nach dieser Einheit sind Sie in der Lage dazu * Funktionen in Python zu definieren und aufzurufen * Rückgaben von Funktionen zu definieren und diese zu nutzen * Eigene Module in Python anzulegen
🏆 Sakai-Aufgabe 3: Python-Installation und Funktionen
- Installieren Sie Python auf Ihrem Rechner:
- Nutzen Sie vorzugsweise den Windows Store oder laden Sie Python 3.13 herunter
- Alternativ python.org herunter
- Stellen Sie sicher, den Haken bei
Add Python to PATHzu setzen

- Erstellen Sie einem Ordner
Aufgabe3der nicht ein einem Netzwerk oder Cloud-Pfad liegt - und legen Sie darin ein Modul (Datei)
calculation.pyan - Öffnen Sie
PowerShell(Windows) oderTerminal(Mac) und navigieren Sie in den Ordner indem Siecdgefolgt von dem Pfad eingeben (z.B.cd C:\code\temp\Aufgabe3) - Geben Sie
python -Vein, um sicherzustellen, dass Python installiert ist. Sollte eine Fehlermeldung auftreten, dass Python nicht gefunden wurde so haben Sie den Pfad nicht korrekt gesetzt. Folgen Sie dieser Anleitung
Wir möchten nun eine Funktion in estimate_max_hr() schreiben, die folgende User-Stories erfüllt:
Als Diagnostiker:in möchte ich die maximale Herzfrequenz eines Patienten auf Basis von Geschlecht und Alter schätzen, um die Leistungsfähigkeit zu beurteilen.
- Erstellen Sie ein Modul
my_functions.pymit folgendem Inhaltdef estimate_max_hr(age_years : int , sex : str) -> int: """ See https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4124545/ for different formulas """ if sex == "male": max_hr_bpm = 223 - 0.9 * age_years elif sex == "female": max_hr_bpm = 226 - 1.0 * age_years else: # der input() öffnet ein Eingabefenster für den Nutzer und speichert die Eingabe max_hr_bpm = input("Enter maximum heart rate:") return int(max_hr_bpm) def build_person(first_name, last_name, sex, age) -> dict: """Returns a dictionary of information about a supervisor or subject.""" person_dict = { "first_name" : first_name, "last_name" : last_name, "age" : age, "estimate_max_hr" : estimate_max_hr(age,sex)} return person_dict def build_experiment(experiment_name, date, supervisor, subject) -> dict: """Returns a dictionary of information about an experiment.""" experiment_dict = {"experiment_name" : experiment_name, "date" : date, "supervisor" : supervisor, "subject" : subject } return experiment_dict
- Erstellen Sie ein Modul
main.pymit folgendem Inhalt: - die Funktionen nutzt um ein Dictionary eines Experimentes incl. Versuchsperson und Vesuchsleitung zu erstellen und zu printen
- Sie können zum Bearbeiten der Dateien jeden beliebigen Test-Editor oder VSCode verwenden
- Das Modul
main.pysollte die Abfrageif __name__ == "__main__":enthalten - Führen Sie das Skript aus, indem Sie
python main.pyin der Konsole eingeben - Laden Sie
my_functions.pyundmain.pyin ihrem GitHub-Repository hoch und teilen Sie den Link in Sakai - Schreiben Sie ein kurzen Kommentar, falls Sie Probleme mit der Python-Installation hatten und diese noch nicht funktioniert. In diesem Fall können Sie die Aufgabe auch in Google Colab lösen
- 🤓 Sie können zudem optional versuchen, die
my_functions.pyin ein Paket zu packen