Python Properties vs Methods: The Contract You Didn’t Know You Were Making
🧱 Build software that lasts. Join the Software Design Mastery waiting list → https://arjan.codes/mastery. In this video, I break down when something in Python should be a property and when it should be a method, and why that choice matters more than it looks. Using a simple example, I show how properties and methods communicate different promises about cost, safety, and behaviour. I’ll also look at why async properties are usually a design smell, and how to keep async work explicit without breaking clean object design. 🔥 GitHub Repository: https://git.arjan.codes/2026/props. 🎓 ArjanCodes Courses: https://www.arjancodes.com/courses. 💬 Join my Discord server: https://discord.arjan.codes. ⌨️ Keyboard I’m using: https://amzn.to/49YM97v. 🔖 Chapters: 0:00 Intro 1:17 Setup: One Example for the Whole Video (Synchronous Version) 2:29 Properties vs Methods 3:48 Derived State: A Perfect Use Case for Properties 6:14 Under the Hood: Why @property Works 6:59 Read-Only vs Writable Properties 8:58 When Setters Should Not Do I/O 10:29 Abstractions: Properties Are Part of the Contract 13:13 Question: Can a Property Be Async? 16:09 Final Thoughts #arjancodes #softwaredesign #python

10 Python Features You’re Not Using (But Really Should)

But what is quantum computing? (Grover's Algorithm)

Applying distributed-systems state design to Python projects

I’m done with the AI hype

7 Things You Didn’t Know Dataclasses Could Do

Retry Pattern: The Secret to Resilient Python Code

The Tiny Donut That Proved We Still Don't Understand Magnetism

Why You Should Think Twice Before Using Returns in Python

The Builder Pattern in Python: Finally Explained!

Trump Threatens Late Night TV Again, Might Be Upset We Won a Peabody & His Suspicious Health Report

Protocols vs ABCs in Python - When to Use Which One?

Why Dataclasses Disappear in Real Python Applications

Python 3.14: The NEW T-strings are Awesome

Why Your Code Isn’t Pythonic (And How to Fix It)

Python Has Serious Problems, But I Use It Anyway

Turing Award Winner: Disagreeing with Google, Postgres, Future Problems | Mike Stonebraker

The Ultimate Guide to Writing Functions

10 Python Tips That Separate Juniors From Seniors

Things (Almost) No One Thinks About When Designing Functions in Python

