Improve your Python fluency with “Python Workout” — today’s “Deal of the Day”

Whether you’re a developer, devops engineer, or data scientist, you’re likely using Python. But do you really know the language, or do you find yourself copying and pasting from Stack Overflow on a regular basis, hoping that the solution you’ve found will solve your problem without too much editing?

The best solution to this problem is practice. And in my book, Python Workout (, I provide you with 50 exercises (and another 150 bonus exercises) to push your Python skills forward, helping you not just to solve the problem at hand but to generally understand how the language works.

Python Workout, along with two other books (“Tiny Python Projects” and “Data Science Bookcamp”) is currently 50% off, as a Manning “Deal of the day.” No matter what you’re doing with Python, you’ll likely benefit from or more of these books. Just go to and enter the code dotd100620 at checkout to get half off.

But don’t wait — this deal is only good on October 6, 2020!

“Python Workout” is Manning’s “Deal of the Day”!

If you’ve been looking for a way to become more fluent in Python, then there’s no better way than practice. And my book, Python Workout, is full of such exercises, helping you to really understand how and when to use lots of Python techniques.

Sounds good? Well, it can get better: Python Workout is today’s “Deal of the Day” from Manning. Just go to and you’ll get 50% off Python Workout (as well as “Data Science Bootcamp” and “Deep Learning with Structured Data”). Or enter the coupon code dotd091520 at checkout to claim your discount.

But don’t delay; this deal (as you can imagine) is only good today — Tuesday, September 15th, 2020!

This Sunday, start writing better Python code

Want to write better, more readable, more flexible, and more maintainable Python code?

Well, testing is the key to that, and pytest is the key to testing in Python.

This is just a quick reminder that my pytest course will be given live on this coming Sunday, September 13th.

This course is for you if:

  • You want to write more robust Python code via testing
  • You want to understand how to use pytest
  • You want to understand some of pytest‘s more sophisticated features, such as parametrized tests and fixtures

Learn more about my pytest course

Because it’s a live class, there will be plenty of opportunity for questions and answers. And of course, there will be lots of exercises as well, so that you can practice what you’ve learned.

Questions? Just contact me at I’ll be happy to answer. Or check out the course page at, which has a FAQ.

Master object-oriented Python with Weekly Python Exercise — starting September 8th

Object-oriented programming has been around for several decades. As a result, it has become easier to organize, maintain, and reuse code.

Well, sort of. Perhaps the word “easier” isn’t quite right.

I’ve met many people who tried to learn programming, and especially object-oriented programming, in such languages as C++, Java, and C#, and got lost with all of the syntax and terminology.

The good news is that Python’s objects are much more straightforward to learn and use than those other languages. But there are still concepts to master, as well as syntax and keywords associated with objects. And even after you’ve learned how to work with classes, instances, and methods in Python… it can still be a bit daunting and unfamiliar.

Does that describe you? Are you somewhat familiar with Python’s objects, but not fluent enough to use them confidently in your own projects? If so, then you’re not alone. Moreover, there’s a good way to become more fluent, and to gain confidence when working with Python’s objects: Practice. And not just practice, but guided practice, ideally with peers learning alongside you.

If this does describe you, then you should check out the upcoming cohort of Weekly Python Exercise, which will concentrate on object-oriented programming for beginners. For 15 weeks, you’ll get a new problem on each Tuesday, and see the solution on the following Monday. You’ll participate in our exclusive online forum, exchanging ideas and solutions with other students. And you’ll be invited to live, monthly office hours at which we can discuss any Python topics you want.

Join Weekly Python Exercise A3: Objects for beginners

But don’t delay: WPE A3 (“Objects for beginners”) starts on Tuesday, September 8th, and won’t be offered until the autumn of 2021. Register, or just learn more, at Or if you have questions, contact me at or on Twitter as @reuvenmlerner.

New course: Testing your Python programs with pytest

My first job was at a company that wrote software for hospitals. As you can imagine, our work needed to be really reliable — so we had an entire team dedicated to quality assurance (QA). Their job was to run our software for months at a time, given many different inputs, and to make sure that it didn’t cause trouble.  I can tell you that the head of QA was the most feared person in my department. And yet, we all knew that his job was of utmost importance. If it weren’t for him, buggy software could go out the door, with catastrophic effects for people being treated in hospitals around the world.

More than 25 years have passed since I had that job. And while not every program directly affects people’s lives,  there’s no doubt that software is hugely influential. Buggy programs can not only hurt people, but lose money, destroy documents, give incorrect projections, and use up valuable resources.

It’s no surprise, then, that testing continues to be really important. And while there are lots of  people still working in QA, much of that burden is now shouldered by individual developers, who have to test the code that they wrote themselves.  That’s right — you can test your own code, to make sure it does what it’s supposed to do (and  doesn’t do what it’s not supposed to do).

Over the last few years, I’ve joined a large and growing number of Python developers using pytest — a test system written in Python, designed to be used by Python developers. And I have to say, pytest is truly amazing: It’s easy to learn, very powerful, and has a huge community that contributes a wide variety of plugins for everyone to use.

Earlier this month, I asked subscribers to my “Better developers” list what topics they would like to learn in a series of live courses I’m starting to offer. And overwhelmingly, people wanted to learn pytest.

I’m thus delighted to announce that on Sunday, September 13th, I’ll be teaching a live, four-hour online course about pytest: “Test your Python code with pytest” If you’ve always wanted to learn about testing in general, or pytest in particular, this course will jump-start you into understanding the hows (and whys) of testing your Python code. 

Click here to join my “pytest” course

A few quick points:

  • The course will take place at 6 p.m. in Israel (where I live), which is 4 p.m. in London, 11 a.m. Eastern, and 8 a.m. Pacific. I hope that you’ll be able to join me live, so that you can participate and ask questions.
  • Even if you can’t join me live, the recording will be available to everyone who has enrolled. And that recording will be available forever — if you don’t have a chance to watch it right away, or want to review the material later on.
  • The course is 4 hours long, but will include a good number of hands-on exercises.

You’ll walk out of this course knowing how to use pytest, and how to apply that knowledge to your own programs — making them more robust, and saving you time down the road.

I’m really excited about pytest, and also excited to offer courses in this new format.  Please join me, and learn how to write better, more reliable code in less time.

For more info, and to register, go to Any questions? Just contact me at or on Twitter as @reuvenmlerner.

TinyMBA — A quick read full of profound strategic ideas

I’ve been in business since 1995. And I’ve made a lot of mistakes along the way. When I speak with other people who have been in business, I find that I’m not alone; we’ve all make a lot of mistakes along the way.

It’s not because I didn’t seek out advice. Heck, I asked for advice from everyone I knew, and sometimes that advice was really useful. Other times, the advice was … well, let’s just say that it was less than useful. For example, when I was just starting up, someone told me to never say “no,” no matter what a client was asking me to do. This was probably the worst advice I have ever gotten, but it took many years to realize just how profoundly wrong it was.

Some of the advice I got was excellent, but tactical: Here’s how to submit a proposal. Here’s how you should approach a meeting. Here’s how to invoice your clients. All of this was interesting and useful, but it wasn’t enough.

What really changed my business, and my life, for the better was strategic advice. Such advice doesn’t pay off right away, but it does pay off over the long term — and I’m living proof of it. Strategic thinking means considering what you do, what sorts of clients you want to attract, and how you present yourself to them. It means thinking about the types of products and services that you can offer, making sure that they align with market needs, and then making sure that potential clients find you are are delighted to pay you to service those needs.

It’s still somewhat humbling and amazing to find myself e-mailing with the training managers at Fortune 100 companies, filling my schedule with courses many months in advance. But I credit it all to a change in my strategic thinking.

Alex Hillman is well known not just for his own successful businesses, but for helping many other people to create and sustain successful businesses. In his new e-book, “The Tiny MBA,” Hillman gives you tons of useful strategic advice for building your business. Each of these nuggets of wisdom is written in one or two sentences, making the book a very quick read.

Anyone who knows about Hillman and his products won’t be surprised to hear that he tells you to look for customers rather than investors, that the feast/famine cycle an indication of problems in your business, rather than inevitable, and that you should look in the mirror when trying to figure out why all of your clients are cheapskates and difficult to deal with. At the end of the book, he gives advice that is counter to everything we hear from Silicon Valley and investors: It’s OK to own and run a profitable business for a long time. You don’t need to sell. You don’t need to go public. It’s not a shame to do this — on the contrary, it’s something to enjoy and be proud of.

He says things that seem so obvious to me now, at the age of 50 and after having run a business for a while, which I would have thought were bonkers way-back-when. For example, I’m a programmer, and have thus come to believe that the more I can automate my business, the better. And indeed, I have automated many processes in my business, and I’ve benefited as a result. But when you’re releasing a new product, or you’re trying something new, it’s just not worth investing the time to automate everything. First do things manually, a process that he calls “Flintstoning,” referencing an article by his business partner (and powerhouse writer) Amy Hoy.

And his pricing advice? Completely spot on. Pricing products and services based on your personal budget and willingness to spend is as foolish as it is common. As he writes, “Odds are that you will underprice yourself because you set prices based on what you would pay, not what they already spend.” As someone who provides corporate training services, I know that what I charge is par for the course at big companies — but far beyond what most individuals would spend.

But of course, there’s a reason for that. As Hillman writes later on, “They aren’t buying your time so much as they are buying back their own time, which again, they perceive as finite and valuable.” When people hire me to teach Python to their engineers, they’re not hiring me by the hour. Rather, they’re making their engineers more efficient — something that is very much worth a five-figure investment.

Just about everything I read in the book seems obvious to me now, but was far from obvious to me years ago. If you’re starting a business, then you would be wise to follow this advice, or at least have a plan in place to follow it — and the sooner, the better. In many cases, Hillman points you to articles and references that explain topics in greater detail; I would have liked to see more of these, but perhaps the point of “The Tiny MBA” was to distill things down to the minimum, not to give you a semester-long reading list. That said, a longer list of articles and resources would have been welcome.

My biggest concern about this book is that the people who need to read it — people in the early stages of running their own business — will not appreciate the truth or depth of the short statements Hillman makes on every page of the book. They’ll second guess what he writes, or will think that these ideas are applicable only to someone who is already successful, not to someone who is only starting out. It’s also so easy to get sucked into the seemingly glamorous world of VCs, startups, and “growth hacking,” when it’s both satisfying and profitable to have a small business that makes money by doing things that help others.

The Tiny MBA” is indeed short, but its message and ideas pack a wallop. Read it, enjoy it, and take its advice to heart. And if you’re only starting your business, know that many of us took years to figure out the truth in what Hillman writes here.

Last chance to get $1400 of Python courses for $25

Only a few hours remain before the massive Humble Bundle for Python courses + PyCharm closes its doors! No matter where you are in learning Python, you’ll find something here to improve your skills.

I’m offering three courses in this bundle, one in each of the three “tiers”:

  • Tier 1: Comprehending Comprehensions
  • Tier 2: Object-oriented Python (+ Tier 1)
  • Tier 3: Any one cohort of Weekly Python Exercise (+ Tier 2)

There are also courses from Talk Python (Michael Kennedy), Real Python (Dan Bader), Julian Sequeira + Bob Belderbos), Matt Harrison, and Python Morsels (Trey Hunner), among others.

Part of the proceeds go to the Python Software Foundation and Race Forward. So you’re not only getting a great deal for yourself, but you’re supporting organizations that promote Python and work to eradicate racism.

This deal will end in just a few hours. So head over to before it does, and get some great training at an amazing price!

There’s still time to get amazing Python course deals via Humble Bundle

Humble Bundle for Python

If you haven’t yet taken advantage of the massive Humble Bundle for Python courses + PyCharm, you only have a few days left to do so before it ends! Whether you’re just starting out with Python or are an old hand looking to learn some new skills, you’ll find something here.

I’m offering three courses in this bundle, one in each of the three “tiers”:

  • Tier 1: Comprehending Comprehensions
  • Tier 2: Object-oriented Python (+ Tier 1)
  • Tier 3: Any one cohort of Weekly Python Exercise (+ Tier 2)

There are also courses from Talk Python (Michael Kennedy), Real Python (Dan Bader), Julian Sequeira + Bob Belderbos), Matt Harrison, and Python Morsels (Trey Hunner), among others.

Oh, and part of the proceeds go to the Python Software Foundation and Race Forward. So you’re not only getting a great deal for yourself, but you’re supporting organizations that promote Python and work to eradicate racism.

This sort of deal doesn’t come along very often, and it’s ending in less than one week. So head over to before it does, and get some great training at an amazing price!

“Python Workout” is available in print!

If you’re like a lot of people, you’re able to get things done in Python, thanks to a combination of intuition, searching on Stack Overflow, and messing around. But you don’t feel fluent with the language, in that you’re always wondering just why things work the way they do.

The way to overcome this is practice. Lots of practice.

My book, “Python Workout,” is all about learning through such practice. In 50 exercises (and another 150 extensions to these exercises), you improve your Python skills, one exercise at a time.

Reuven Lerner holds a printed copy of "Python Workout"

And as of earlier this week, “Python Workout” is now available in print, as well as online. It has tons of features — from walkthroughs on the “Python Tutor” site to screencasts of me solving the exercises — to help improve your fluency and understanding when programming in Python.

Check out Python Workout, at!

Level up your Python skills with a supercharged Humble Bundle!

Want to improve your Python skills?

Yeah, I know. Of course you do.

Well, then you should grab an amazing deal from Humble Bundle, with content from a bunch of online Python trainers — including me!

Buying the bundle not only gives you access to some amazing Python training at a great price. It also supports the Python Software Foundation (which handles the administrative side of the Python language and ecosystem) and Race Forward (which works to improve race relations in the US).

There are three tiers to the bundle, and I have a course in each one:

  1. Comprehending Comprehensions
  2. Object-oriented Python
  3. Any one cohort of Weekly Python Exercise

Included in the bundles are also courses and books from Michael Kennedy, Trey Hunner, Matt Harrison, PyBites (Bob and Julian), Real Python (Dan Bader), and Cory Althoff. Plus it includes a subscription to the PyCharm editor.

So don’t delay! Sign up for this Humble Bundle, improve your Python, help two good causes, and save some money. But it’s only available for another 20 days, so don’t delay!

Sign up here: