The Python programming language, tutorials, and more

250 319,781 31,271
articles words lines of code

This article shows how I made a secret Santa draw with Python.

A conversation between Rodrigo Girão Serrão and Stephen Gruppetta on analogies in programming.

This article lists the best 2023 Black Friday deals for Python developers.

In the 8th part of this series of building a Python compiler and interpreter we will add support for Boolean literals and Boolean operators.

Today I learned how many soft keywords Python has and what they are.

Today I learned that the underscore _ is a soft keyword in Python.

Let us implement a calculator in ONE line of code.

In the 7th part of this series of building a Python compiler and interpreter we will add support for if statements.

In the 6th part of this series of building a Python compiler and interpreter we will add support for variables, simple assignments, and chained assignments.

In the 5th part of this series of building a Python compiler and interpreter we will add support for multiple statements in our program.

In the 4th part of this series of building a Python compiler and interpreter we will add support for more arithmetic operations and parenthesised expressions.

In the third part of this series of building a Python compiler and interpreter we will make our parser, compiler, and interpreter, much more flexible with the visitor pattern.

In the second part of this series of building a Python compiler and interpreter we will improve the support of numbers.

Today I learned that you can run custom Python code when Python starts-up, before running other scripts or programs.

In this tutorial series we will build a Python compiler and interpreter from scratch. We start with simple arithmetic expressions.

Learn how batched from the module itertools works, example use cases, and how to implement it.

Today I learned that Python and other programming languages have negative zero, -0.0.

Today I learned about the Python 3.12 type statement you can use to create type aliases.

This explains how I added stats to my blog page.

Today I learned how to create a sentinel value to use as a default argument in a way that respects Python typing.