(c) 2023 Technische Hochschule Augsburg - Fakultät für Informatik - Prof.Dr.Nik Klever - Impressum
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))
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
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
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
Generatoren sind Funktionen, die statt über den Ausdruck return die Ergebnisse sukzessive mit dem Ausdruck yield zurückgeben und damit einen Iterator erstellen