Let’s Replace All for Loops With Map and Filter | Issue #55


Hi there,

Functional programming in Python can be elegant… but not always. ⚠️

In this week’s video, I walk through four common scenarios where replacing for loops with map() and filter() actually leads to worse code. Not just less readable—but also harder to debug, more error-prone, and sometimes even misleading.

We’ll dive into:

  • Exception handling that becomes a mess inside a lambda
  • Side effects (like writing to files) that violate functional principles
  • Nested logic that turns into unreadable one-liners
  • And why early exits are almost impossible with map() or filter()

The point? Concise code isn’t always clean code. Python gives you options—choose the one that makes your intent crystal clear. ✅

I hope you enjoy the video and happy coding!

Cheers,

Arjan

# News

🛑 Stop Writing `__init__` Methods?

Still writing __init__ methods just to set attributes? Glyph Lefkowitz says it’s time to stop—and he makes a solid case.

In this article, he explains why Python’s dataclasses often eliminate the need for custom __init__ methods, and how moving side effects elsewhere leads to cleaner, more maintainable code. 💪🧑‍💻

If you want simpler classes and fewer bugs, this is worth your time. 👉 Read the article here.

🧠 Is Python Interpreted or Compiled?

Turns out… it’s both!

Nicole Tietz explains how Python compiles your code to bytecode before the interpreter takes over.

Understanding this duality can deepen your grasp of Python’s execution model and its implications on performance and error handling.

📖 Check out the full article here.

# Community

One of our community members, Han, shared a fantastic guide in the Discord:

“Beyond the Code: Unconventional Lessons from Empathetic Interviewing”

Whether you’re hiring or being interviewed, this piece offers fresh perspectives on making interviews more human, more relevant, and more effective.

“No matter your role, you can drive change—identify soft and hard skills, offer feedback, and help reshape the process.”

👉 Jump into the thread to read the discussion and share your thoughts!


Do you enjoy my content on YouTube and would you like to dive in deeper?

🚀 Check out my online courses

My courses have helped thousands of developers take the next step in their careers. Check out these courses to help grow your skills and become a senior developer:

🔧 Need help with a complex codebase?

If your team is struggling with tech debt, unclear architecture, or cloud costs that keep creeping up, my team and I can help. We don’t just review, we get in and fix things. We’re only working with a few companies at a time to stay focused, so if it sounds like a fit:

Unsubscribe | Send by ArjanCodes

Wolvenplein 25, Utrecht, UT 3512 CK

The Friday Loop

Every Friday, you'll get a recap of the most important and exciting Python and coding news. The Friday Loop also keeps everyone posted on new ArjanCodes courses and any limited offers coming up.

Read more from The Friday Loop

Have you ever hesitated between writing a method or a property, and then just picked one because “it felt right”? That small choice actually carries a lot of design weight. In this week’s video, I explore when properties make sense and when methods are the better choice. I talk about what properties promise to the reader of your code, why setters should be used carefully, how this choice affects abstractions and Protocols, and where async fits into all of this. This video is also a good...

Most systems don’t start out needing CQRS. They start simple: create, update, list, dashboard. Everything in one place. Everything reasonable. Until read requirements slowly begin to reshape the system, often in subtle ways 🧩. In this week’s video, I show how that happens using a FastAPI app backed by MongoDB, and how Command Query Responsibility Segregation (CQRS) provides a clean way out once reads and writes want very different things. Along the way, I cover: separating command intent from...

Code can be correct and still be unpleasant to read. A lot of software design isn’t about what the code does but about how clearly it communicates the sequence of ideas behind it. In this week’s video, I explore the Fluent Interface pattern by refactoring a small animation engine in Python. I start with a clunky but functional API, then gradually reshape it until defining an animation reads almost like a sentence: move, rotate, scale, fade. Enjoy this deep dive into API design, readability,...