NB_01_Zusammenfassung_Informatik_2¶
(c) 2026 Technische Hochschule Augsburg - Fakultät für Informatik - Prof.Dr.Nik Klever - Impressum
In [1]:
class Adresse():
def __init__(self, strasse, plz, ort):
self.Strasse = strasse
self.Plz = plz
self.Ort = ort
class Person():
_staatsbürgerschaft = "deutsch"
def __init__(self, nachname, vornamen, geburtsdatum, geschlecht=None):
self.Nachname = nachname
if isinstance(vornamen, list):
self.Vornamen = vornamen
else:
self.Vornamen = [vornamen]
self.Geburtsdatum = geburtsdatum
self.Geschlecht = geschlecht
self.Ausbildung = []
def adresse(self, adresse):
self.Adresse = adresse
def ausbildung(self, name, von, bis, abschluss):
self.Ausbildung.append(dict(Name=name,Von=von,Bis=bis,Abschluss=abschluss))
In [2]:
Werner = Person("Hierling",["Werner","Erich"],"10.11.1982","M")
Werner.adresse(Adresse("Wemdinger Str. 14","86720","Nördlingen"))
Werner.ausbildung("Realschule Maria Stern","15.9.1992","31.7.1998","Mittlere Reife")
Werner.ausbildung("Sparkasse Nördlingen","1.9.1998","31.7.2001","Bankkaufmann")
print("{} {} ist {} und wohnt in {}".format(Werner.Vornamen[0],
Werner.Nachname,
Werner.Ausbildung[-1]['Abschluss'],
Werner.Adresse.Ort))
Werner Hierling ist Bankkaufmann und wohnt in Nördlingen
In [3]:
import datetime
import locale
locale.setlocale(locale.LC_ALL, locale.getlocale())
class localDate(datetime.date):
def __str__(self):
return self.strftime("%x")
def alter(self):
return (datetime.date.today().year - self.year)
class Mitarbeiter(Person):
def __init__(self, abteilung, funktion, gehalt, **args):
super(Mitarbeiter, self).__init__(**args)
self.Abteilung = abteilung
self.Funktion = funktion
self.Gehalt = gehalt
In [4]:
Jürgen = Mitarbeiter(abteilung="Entwicklung",funktion="Projektleiter",gehalt=2450,
nachname="Eisenmann",vornamen=["Jürgen"],
geburtsdatum=localDate(1979,9,13),geschlecht="M")
Jürgen.adresse(Adresse("Buxacher Str. 5","87700","Memmingen"))
Jürgen.ausbildung("Vöhlin Gymnasium",localDate(1989,9,15),localDate(1999,7,31),"Abitur")
Jürgen.ausbildung("Hochschule Augsburg",localDate(1999,10,1),localDate(2003,7,31),"Diplom-Ingenieur(FH)")
print("{} {} ist {} und wohnt in {}".format(Jürgen.Vornamen[0],
Jürgen.Nachname,
Jürgen.Ausbildung[-1]['Abschluss'],
Jürgen.Adresse.Ort))
summeAusbildungsZeiten = datetime.timedelta(0)
for ausb in Jürgen.Ausbildung:
summeAusbildungsZeiten += ausb['Bis'] - ausb['Von']
print("Er hat insgesamt {:0.2f} Jahre für seine Ausbildung benötigt".format(summeAusbildungsZeiten.days/365))
Jürgen Eisenmann ist Diplom-Ingenieur(FH) und wohnt in Memmingen Er hat insgesamt 13.71 Jahre für seine Ausbildung benötigt
Module¶
- import
- __main__
- Python Code als Datei ausführen
- im Jupyter Notebook:
- %%writefile dateiname.py
- !python dateiname.py
- im Jupyter Notebook:
- Modulsuchpfad
- sys.path
dir¶
- __init.py__
- package.subpackage.modul
Fehler und Ausnahmen¶
Fehler¶
- SyntaxError -> Information über Zeile und Spalte beachten
- IndendationError -> Einrückungsfehler
wichtigste Ausnahmen¶
- ZeroDivisionError
- NameError
- TypeError
- ValueError
Ausnahmehierarchie¶
- try:-Block
- except:-Blöcke
- finally:-Block
Informationen über Ausnahmen¶
Werfen von Ausnahmen¶
Funktionale Programmierung¶
Builtin-Funktionen¶
- iter
- next
- StopIteration
Generatoren sind Funktionen, die statt über den Ausdruck return die Ergebnisse sukzessive mit dem Ausdruck yield zurückgeben und damit einen Iterator erstellen
Betriebssystem Werkzeuge¶
String Werkzeuge¶
- re
- re.sub
- math
- random
- statistics