Pyenv als Manager für virtuelle Umgebungen aufsetzen

Ich habe gelernt wie ich PyEnv nutze, und möchte die wichtigsten Dinge aufschreiben.

Oktober 12, 2025 · 3 Minuten · 487 Wörter · Chris Pratl

Kaufmännisches Runden in Python

Ich habe gelernt, dass Python nicht kaufmännisch rundet! Was ist kaufmännisches Runden? Für die meisten Zahlen ist klar, wohin sie gerundet werden. Es gibt allerdings Spezialfälle - insbesondere: Wenn ich $0.5$ runde, wird das $0$ oder $1$? Kaufmännisches Runden löst das Problem mit der Regel “Weg von Null”, daher: Aufrunden bei positiven Nummern, abrunden bei negativen Nummern. Für Mathematiker dürfte das genügen, für alle anderen gibt es hier noch Beispiele1: ...

September 30, 2025 · 2 Minuten · 366 Wörter · Chris Pratl

Unintuitive Zeit-Deltas in Python

Wir starten mit folgendem Code-Snippet: 1 2 3 4 5 6 7 8 9 10 >>> import datetime as dt >>> later_date = dt.datetime.now().replace(hour=18, minute=39, second=59, microsecond=0) >>> earlier_date = later_date - dt.timedelta(days=1, hours=5, minutes=7, seconds=20) >>> later_date datetime.datetime(2025, 8, 31, 18, 39, 59) >>> earlier_date # TODO: Replace date with the publish date minus 1 day datetime.datetime(2025, 8, 30, 13, 32, 39) Die offensichtliche Richtung Ich möchte die Differenz der beiden Zeiten haben, also das Delta dazwischen. Das größere minus das kleinere Datum ergibt genau das was ich erwarte: ...

August 31, 2025 · 2 Minuten · 311 Wörter · Chris Pratl

Testen ob ein String eine URL ist

Ich möchte feststellen, ob ein String eine URL ist, und mache das per regulärer Expression.

Juli 9, 2024 · 2 Minuten · 369 Wörter · Chris Pratl

Über eine Python Azure Funktion Daten aus einem Azure Storage Account Blob ziehen

Wie ich Daten aus einem JSON Dokument aus einem Azure (Blob) Storage Account ziehe, und diese in einer Azure Funktion nutze.

September 11, 2023 · 1 Minute · 153 Wörter · Chris Pratl

Den neuen Walrus-Operator in einer List-Comprehension verwenden

Die Challenge Ich möchte eine neue Liste aus bereits existierenden Daten generieren. Dabei sollen einerseits komplexe Berechnungen auf den Daten passieren, andererseits möchte ich das Ergebnis noch filtern. Beachte: Mit komplexen Berechnungen meine ich Berechnungen, die nicht im Rahmen einer List Comprehension leicht möglich sind. Ohne List Comprehensions 1 2 3 4 5 6 7 8 9 10 11 def compute(element): ... def condition(computed) -> bool: ... old_data = ... new_data = [] for element in old_data: computed = compute(element) if condition(computed): new_data.append(computed) Das geht natürlich, aber das können wir besser. ...

April 5, 2023 · 2 Minuten · 317 Wörter · Chris Pratl