Python Morsels

Weekly Python skill-building for professional developers

Let me help you work smarter

We don't learn by putting information into our heads. We learn by trying to retrieve information from our heads. That's why Python Morsels is based around writing Python code (instead of watching lengthy videos).

Python Morsels is not an introduction to Python, but a habit-based skill-building system for professional Python programmers. We learn best through regular practice, so each week I'll send recommend a specific exercise to solve based on your skill level.

After you've solved an exercise, I'll walk you through different ways to solve each exercise, with a focus on what makes one solution better than another. Then I'll ask you to reflect on your learning to consider what you could have improved in your solution and what new ideas you'd like to remember.

More From Users
Volker Englisch

Overall I have to admit that I'm blown away by the usefulness of your weekly exercises. There is nothing academic about them and they seem to be applicable to many situations. In addition, the exercises are simple enough to follow the basic concepts while the bonus sections provide depth to keep me busy for the week. Thanks again for your great training!

It's like regular tennis practice

A tennis class can help you get into tennis, but you won't get good at tennis from taking classes. Habitual practice is the best way to improve your tennis skills.

Python Morsels is like weekly tennis practice. It's not a Python class, it's guided deliberate practice for writing readable and maintainable Python code.

A long-time user described Python Morsels like Hannon's finger exercises for piano, but for Python. Whether your skill is tennis, piano, or Python, the best practitioners use practice to stay sharp.

Exercise submission page showing base problem and 1/3 bonuses solved with 11 points rewarded and a button to see Trey's solutions
More From Users
Eric Joanis

I just did my semi-annual review with my supervisor, and realized that in the six months or so I've been doing Morsels, my Python skill levels have significantly improved. I have been a programmer for over 20 years and have deep expertise in C++, Perl, and Bash, but when I signed up for Morsels, I was frustrated at the gaps in my Python knowledge, especially with all its idiosyncrasies. The weekly exercise model really works for me, and now I'm confident handling all the Python problems work throws at me, and feel confident calling myself an intermediate to advanced Python programmer.

Can't I just watch YouTube and solve Hacker Rank exercises?

YouTube has tons of Python videos and websites like Exercism and Hacker Rank have lots of free Python exercises. So why pay for Python Morsels? There's really one reason: you're trading money for time.

I guarantee Python Morsels will include:

  • No ads: you're not the product, the screencasts are
  • No filler content: no ad revenue means no need for long videos
  • My own expertise: I'll teach you what I know (but not what I don't)

Choose your plan below. There's no credit card required on signup and you can try up to 3 exercises for free.

Lite (Annual)

$120 / yr

  • One exercise credit per month
  • Access to all screencasts
  • 3 free trial exercises
Sign up to try it outTry it out

All Access (Annual)

$240 / yr

  • Unlimited access to all exercises
  • Access to all screencasts
  • 3 free trial exercises
Sign up to try it outTry it out

Have an account? Sign in and subscribe

What's included?

On the All Access plan, you'll get:

  • Weekly recommendation emails customizable by your skill level and interest and time-commitment
  • Access to over 200 multi-part exercises, including over 400 bonuses
  • Access to over 150 screencasts and articles with new screencasts/articles added weekly
  • Access to a short article that accompanies each screencast (in case you prefer reading over watching)
  • Gentle nudges via email and the web app to keep you moving forward on a regular basis

The exercises currently include practice with:

  • Text processing
  • Generator functions
  • Decorators
  • File manipulation
  • First-class functions
  • Command-line interfaces
  • Context managers
  • Immutability
  • Comprehensions
  • Creating custom collections and data structures
  • Object-oriented Python
  • Descriptors
  • Binary files and streams
  • Recursive functions and data structures
  • Time complexity optimizations
  • Metaclasses

... and lots of discussions about code-style best practices along the way!

More From Users
Kimberly (Software Engineer)

I love Python Morsels. The platform provides such a great learning experience. As the word morsel suggests, it's one focused chunk of teaching at a time, just enough to truly take it in, learn it, and make it part of one's understanding of Python. PLUS the platform teaches the ways of Python, which is very useful whether one is brand new to programming or has used a variety of programming languages and styles. I've successfully used what I have learned in my work project and my project is so much better for it! 😁

I really like the weekly assignment. The assignment consists of a problem statement, some optional bonus challenges, a downloadable test script, and hints. I can solve the problem any way I see fit. When I'm done, I can lock in my answers and then see how Trey solves it, including the thought process of doing it one way, but then doing it in a more Pythonic way. It's really very good. Plus I can choose to solve it again in a couple of months and reflect on what I learned.

I also really like the screencasts and accompanying transcript. The screencasts demonstrate one concept very clearly, which stretches my thinking about each topic and helps make my code better. The transcript is great for reviewing the concept and letting me try out the code in my own virtual environment.

I recommend Python Morsels as a great platform to learn how to write Python code the best way possible. I started out writing Python about a year ago. Before Python my coding background included C, C++, Perl, Go, and Bash. Sometimes I still think in those other languages, but the best practices in those programming languages don't always apply to Python. Python Morsels is helping me to think in Python which helps me write Python code that is effective, efficient, smart, and reusable.

What can you expect from this?

Python Molsels isn't magic; it's carefully crafted learning. If you spend an hour each week working on the next recommended exercise, your Python skills will improve every week.

Each exercise should introduce you to a couple new concepts and revisit a few semi-familiar concepts. Related concepts crop up repeatedly (with a new twist each time) so you can witness your progress along your Python journey.

I seem to learn more each week for the couple of hours that I spend on these exercises than the rest of the week combined.

I strive to make Python Morsels as effective and time-efficient as possible. I assume that you're a busy person who values your time and I do not want to waste your time.

More From Users
Dr. Thomas Jacobi

The bonus parts are my favorite. They often involve a twist that requires a complete rethinking of the (mostly easy) solution of the base part.

Some other aspects I particularly enjoy:

  1. Steady practice of a wide range of Python features
  2. Solutions come with great explanations
  3. Hints (which I mostly read after providing a solution) point to great resources
  4. Excellent tests, which provide also material that can be used to deepening Python skills (at least for me)

Python Morsels is an excellent learning/practice opportunity that's steady, interesting, comprehensive and challenging.

This is only going to get better

Trey Hunner smiling in a t-shirt against a yellow wall

My name is Trey Hunner and I created Python Morsels to give life-long learners a low-stress way to improve their Python skills.

I really enjoy improving the Python Morsels platform and continually refining the learning material on this platform. I've made a lot of improvements over the past few years and I have many more improvements planned for the next few years.

If I increase the price of Python Morsels in the future, I guarantee that your subscription price will remain the same because I appreciate your support.

More From Users
Eric Pederson

When signing up my biggest concern was time - time is always the most precious commodity.

The purchase was well worth it. The time I spent working on Python Morsels problems translated into saved time programming for work. And it's not a grind - it's actually fun.

I've learned advanced Python concepts that I would have never had the opportunity to use in my day to day work, like creating decorators, descriptors and metaclasses. Over multiple problems you begin to gain fluency with a wide range of techniques.

Besides becoming fluent in advanced Python language concepts, one of the things I enjoy is reading Trey's solutions. They are exceptionally well written idiomatic Python. In addition, the problem examples and the automated tests are very helpful in guiding you iteratively towards a solution.

I hope the next frontier for Python Morsels will be asyncio (which will be tricky to test but I believe Trey can do it).

I recommend Python Morsels to my co-workers and anyone else who will listen. I think it's the best resource for an experienced developer who wants to up their Python game.

Ready to get access to all Python Morsels exercises?

✨ Try Python Morsels now ✨

Planning to work on Python Morsels as a team?

Python Morsels also includes team plans which allow for a single per billing cycle and payments via bank transfer.

Check out team plans