Stephen Gruppetta
banner
stephengruppetta.com
Stephen Gruppetta
@stephengruppetta.com
Constantly looking for simple ways to explain complex things…

Here you'll find:
• Python
• Narrative Technical Writing
• Track & Field Athletics

Links in the pinned post below

stephengruppetta.com
Pinned
Stuff I do…

• Python
Python articles www.thepythoncodingstack.com

The Python Coding Book amzn.to/42tJKOL

Real Python realpython.com

• Narrative technical writing
stephengruppetta.com/breaking-the-rules

• Track & Field Athletics
backonthetrack.substack.com

• Everything stephengruppetta.com
I dislike the term “magic” methods.

There’s nothing magic about them.

They’re more like Python’s plumbing. But “plumbing methods” won’t catch on!

Let’s stick to “special” or “dunder” methods, then…
February 12, 2026 at 12:09 PM
One day I’ll dive down the rabbit hole of metaclasses in Python. But not today.

When it happens, I’ll finally know what came first, the chicken or the egg…
February 10, 2026 at 1:04 PM
What’s The Point of `itemgetter()` in Python?

This is what I asked myself the first time I came across `itemgetter()`. But now I love to use this function…

[The Club post $$]
www.thepythoncodingstack.com/p/whats-the-...
February 7, 2026 at 10:43 PM
Reposted by Stephen Gruppetta
You can only have one `.__init__()` method in a class

But it doesn’t mean that you can only have one route to create an instance

One of the solutions: alternative constructors using class methods

www.thepythoncodingstack.com/p/python-alt...
Planning Meals, Weekly Shop, Alternative Constructors Using Class Methods
You can have more than one way of creating objects • alternative constructors using class methods
www.thepythoncodingstack.com
January 31, 2026 at 1:42 PM
Reposted by Stephen Gruppetta
Alternative constructors using class methods come to the rescue to help my family meal plan for the week

www.thepythoncodingstack.com/p/python-alt...
January 30, 2026 at 3:39 PM
Reposted by Stephen Gruppetta
You get the idea…

…readers love The Python Coding Book

thepythoncodingplace.com/the-python-c...
January 31, 2026 at 10:15 PM
Reposted by Stephen Gruppetta
Things I think about when writing about Python or teaching Python…

…and why

Here's a short video on why I often decide to swap the order of words or parts of sentences around when writing.

It's all about making things easier for your reader.

youtu.be/bG1nUfJZtao

More at stephengruppetta.com
swapping order of words or clauses
YouTube video by Stephen Gruppetta
youtu.be
January 30, 2026 at 11:08 PM
You can only have one `.__init__()` method in a class

But it doesn’t mean that you can only have one route to create an instance

One of the solutions: alternative constructors using class methods

www.thepythoncodingstack.com/p/python-alt...
Planning Meals, Weekly Shop, Alternative Constructors Using Class Methods
You can have more than one way of creating objects • alternative constructors using class methods
www.thepythoncodingstack.com
January 31, 2026 at 1:42 PM
Things I think about when writing about Python or teaching Python…

…and why

Here's a short video on why I often decide to swap the order of words or parts of sentences around when writing.

It's all about making things easier for your reader.

youtu.be/bG1nUfJZtao

More at stephengruppetta.com
swapping order of words or clauses
YouTube video by Stephen Gruppetta
youtu.be
January 30, 2026 at 11:08 PM
Starts in 20 mins…
Do you write technical articles? For your own benefit or for others?

>> Free session starts in a few hours <<

Join me as I go through some of the things I look out for when I write and edit tutorials and other technical texts

It may help you write more clearly…

Starts Soon…

luma.com/5z418e58
January 30, 2026 at 7:42 PM
Do you write technical articles? For your own benefit or for others?

>> Free session starts in a few hours <<

Join me as I go through some of the things I look out for when I write and edit tutorials and other technical texts

It may help you write more clearly…

Starts Soon…

luma.com/5z418e58
January 30, 2026 at 5:52 PM
Alternative constructors using class methods come to the rescue to help my family meal plan for the week

www.thepythoncodingstack.com/p/python-alt...
January 30, 2026 at 3:39 PM
Still time to sign up for this. A live edit of a Python technical article…
January 28, 2026 at 9:47 PM
Reposted by Stephen Gruppetta
"iter" is the Latin word for journey or path.

So, an iter-able is something that's "able to go on the journey, follow the path"

And an iter-ator is something that does what's needed to deal with the journey

Use "calculate" as a model:

/1
January 27, 2026 at 10:43 AM
We need to think about this. It's not a 'now' problem, but a future one

Up to now, programmers mastered the details of what makes programs great and robust through experience, through going though the various stages of learning and expertise, learning from more experienced colleagues…

/1
January 28, 2026 at 12:00 PM
Reposted by Stephen Gruppetta
I'll go through my thought processes when writing and editing, discuss what matters to me and why I think it makes a difference, I'll go through my priorities to ensure communication is always clear, accessible.

luma.com/5z418e58

[Free event]
Live Editing Session • Clear Technical Communication · Zoom · Luma
Join me for an informal session in which we can edit a draft of a technical article live and together. I'll go through my thought processes while writing and…
luma.com
January 23, 2026 at 9:49 PM
Reposted by Stephen Gruppetta
Clear Technical Communication

It’s important to communicate with others

It’s important to communicate with LLMs

It’s more important than ever

Thoughts?
January 23, 2026 at 8:43 PM
"iter" is the Latin word for journey or path.

So, an iter-able is something that's "able to go on the journey, follow the path"

And an iter-ator is something that does what's needed to deal with the journey

Use "calculate" as a model:

/1
January 27, 2026 at 10:43 AM
Reposted by Stephen Gruppetta
Heard about __new__, the constructor in #Python?

You can basically forget about it. It's for advanced, unusual cases.

Just use __init__! It runs automatically on every new instance.

__init__ is for assigning attributes to self (what other languages call "instance variables").
January 26, 2026 at 4:30 PM
Reposted by Stephen Gruppetta
Python Tip #26 (of 365):

When opening a file, use a "with" block... especially for writing! 🧵

Closing files once you're done with them is a good practice in general.

And using a "with" block to open a file will close it automatically when the "with" block exits.

#Python #DailyPythonTip
January 26, 2026 at 7:04 PM
Reposted by Stephen Gruppetta
Your call…

There’s

• a super-personalised one-to-one 6-month mentoring option
$ 4,750

• individual one-to-one sessions
$ 125

• a self-led route with access to 60+ hrs of exceptional video courses and a support forum
$ 400

Which The Python Coding Place student are you?

thepythoncodingplace.com
The Python Coding Place
The Place to Learn Python
thepythoncodingplace.com
January 26, 2026 at 9:14 PM
Reposted by Stephen Gruppetta
And now for something completely different. I don't only write about #Python

I have also started writing about one of my silly hobbies: reviewing root beers and related drinks.

Feel free to follow along if you like that sort of thing:

www.rootbrewreview.com/
Root Brew Review | Mike Driscoll | Substack
Learn all about root beer here! Click to read Root Brew Review, by Mike Driscoll, a Substack publication. Launched 20 days ago.
www.rootbrewreview.com
January 26, 2026 at 8:27 PM
Reposted by Stephen Gruppetta
Here's the plan for this free session…

• I send a draft article (a Python article) so you can read through it

• On a live Zoom session, we go through the article as if we're editing it

I hope to make this a regular event - see link in quoted post. Sign up now…
January 25, 2026 at 3:00 PM
Reposted by Stephen Gruppetta
Help me crowd-source the Python Index (I'll come up with a better name at some point…)

• How easy does Python make it to write good code?
• How hard does Python make it to write bad code?

The ideal programming language scores (1, 1)

Where would you place Python?
January 25, 2026 at 4:28 PM
Help me crowd-source the Python Index (I'll come up with a better name at some point…)

• How easy does Python make it to write good code?
• How hard does Python make it to write bad code?

The ideal programming language scores (1, 1)

Where would you place Python?
January 25, 2026 at 4:28 PM