Filter für Datenbanken in Python
Python bietet, wie einige andere Sprachen, die Möglichkeit, binäre Operationen wie +, *, & und != von einer Klasse zu überschreiben. Beispielsweise muss == nicht einmal einen Wert vom Typ bool zurückgeben. Allerdings kann man die Operationen für and, or und not nicht überschreiben, da diese ihre Eingabewerte zunächst mit der Funktion bool in den gleichnamigen Datentyp umwandeln; genau so, wie es beispielsweise ein if macht.
Ein möglicher Anwendungszweck ist ein Filter für eine Datenbank.
Kleine Spielerei mit Klassen in Python
Ich experimentiere immer wieder gern mit Python und möchte daher ein paar Dinge hier vorstellen.
Es dürfte bekannt sein, dass bei Python alles ein Objekt, also eine Instanz einer Klasse, ist. Die Klasse wird bei Python auch oft type, also Typ, genannt. Nun ist es so, dass wirklich alles ein Objekt ist, sogar eine Klasse selbst.
Der bessere Parser
In meinem Studium hatte ich vor kurzem in der Vorlesung über die methodisch-praktischen Grundlagen der Informatik (MPGI) das Thema „Parser“. Während ich mich zuvor gefragt hatte, wie man einen komplexen, aber dennoch übersichtlichen Parser schreibt, weiß ich es nun. Die Vorteile gegenüber meinen vorherigen Versuchen liegen auf der Hand: Durch die Übersichtlichkeit findet man viel besser Fehler.