..

The workbook to master Python

by Reuven M. Lerner, PhD

How often, when faced with a task in Python, do you turn to Google? Or, for that matter, Stack Overflow?

If every time you have to solve a problem in Python, you're turning to one of these sites, then you're in a very common situation: You know Python, but you don't feel completely fluent: You're not always sure which data structure to use, you're not totally familiar with how to work with data in files, and the syntax of list comprehensions is particularly confusing.

Does this sound like you? If so, you're the kind of person for whom I've written Practice Makes Python. For more than a decade, I've been helping Python programmers to improve their fluency — to gain the confidence and understanding that you need in order to solve programming problems.

The secret to my success? Lots and lots and lots of exercises, designed to force you to think like a Python programmer. My exercises have helped thousands of developers at some of the world's best known companies to jump-start their understanding, to solve more complex problems, and to reduce their reliance on Google and Stack Overflow — making you a more efficient and valuable developer.

There's no way around it; the only way to become a fluent Python developer is to write lots of Python code. The question is whether you want to accumulate experience over time, or accelerate the learning process using exercises that are sure to make you a more fluent, confident Python programmer.

Already convinced? Skip to the packages

The only path to fluency is practice

There is no shortcut to fluency; the only way to get there is through repeated, directed practice. This means making lots of mistakes, and then learning from those mistakes.

The benefits of such fluency are huge: You can solve problems more quickly, with less code, and in a way that's easy to maintain. You save time, avoiding hours of searches through Stack Overflow.

When you're fluent, it's faster to solve the problem yourself than to search for, evaluate, copy, and paste solutions that you found on the Internet. You become a more powerful programmer, and more valuable to your employer and/or clients.

Pratice Makes Python gives you 50 programming assignments, each of which aims to get you to think like a Python developer. After doing these exercises, you will feel more comfortable developing in Python. You will have gained not only experience, but perspective that will allow you to create Python programs for work and pleasure.

The exercises are designed to make you think not about Python's syntax and capabilities, but when it is appropriate to use different data structures, function argument types, and object-oriented capabilities.

Practice Makes Python stresses the use of Python's built-in data structures and capabilities. Among other things, you'll learn:

Each exercise contains a problem, a sample solution, and a discussion. If you purchase a package, and not just the ebook, then you also get a 5-10 minute video for each exercise (yes, 50 videos), in which I walk you through the process of solving the problem. That's more than 300 minutes (5 hours!) of Python screencasts!

These exercises have been tested with my students at some of the best-known companies in the world:

apple cisco freescale HP intel sandisk vmware

These exercises address issues that Python programmers find confusing. You'll likely find them to be interesting, challenging, and even (I hope) somewhat entertaining.

Is this ebook for you?

If you have read a Python tutorial, or took a Python programming course, but have used Python for less than one year, then you are just the person for whom I've aimed the ebook. You need to have a basic understanding of data structures and functions, but the ebook assumes that you're still a bit unsteady on these topics.

I have found that many experienced Python programmers also benefit from these exercises, helping them to understand such topics as passing functions as creating complex data struturess, parameters, list comprehensions, and object-oriented techniques.

What is in the book?

Here is the table of contents:

  1. Numbers (4 exercises)
  2. Strings (4 exercises)
  3. Lists and tuples (6 exercises)
  4. Dicts and sets (4 exercises)
  5. Files (7 exercises)
  6. Functions (3 exercises)
  7. Modules (2 exercises)
  8. Functional programming (8 exercises)
  9. Objects (7 exercises)
  10. Iterators (5 exercises)

What is in the videos?

The two higher-level plans include access to each of the 50 videos that I am creating, one for each exercise. In the video, I live-code the solution that is presented in the ebook, discussing it along the way and mentioning additional options and considerations.

47 videos are currently available, each of which is 5-10 minutes long. I expect to release more each week, until the entire set is complete. Customers who purchased the higher-tier packages will receive updates via e-mail, indicating when new videos are available.

Students in my live classes know that my live-coding demonstrations and explanations are a critical part of my lectures, in that they demonstrate not just the solution, but also the way to reach that solution. Consider the difference between seeing the answer to a math problem, and watching someone solve it, step by step, with commentary, and you'll understand the difference.

An example video is here.

Does this ebook use Python 2.x or 3.x?

The examples should all work with both versions of Python. The ebook assumes usage of Python 2.7, albeit with many mentions and descriptions of Python 3.x. The files included with higher-level tiers contain solutions that have been tested in both Python 2.7 and Python 3.4.

Is the ebook DRM protected?

No, it is not.

Do you offer special group and site-license pricing?

Yes, absolutely, assuming that you wish to buy at least 10 copies. Please contact me at reuven@lerner.co.il, and I will be happy to provide you with pricing and licensing information.

Do you offer student pricing?

Yes, indeed! I was a student (for way too many years), and I understand that students are often short on cash. Contact me privately at reuven@lerner.co.il, and I'll send you a coupon code that you can use for a significant discount.

I am an instructor, and would like to license the ebook for my classes. Do you offer special pricing for such use?

Yes. Please contact me at reuven@lerner.co.il, and we can discuss pricing and licensing.

Consultant package

The 159-page ebook

containing 50 exercises in Python, as well as solutions and discussion — in PDF, Mobi, and epub formats

Video explanations

Video explanations for each of the 50 exercises — 300 minutes of screencasts!

Video conference

30 minutes of a video (Skype/Hangouts) conference with me, in which we can discuss exercises and possible solutions ($100 value)

And more..

Each of the solutions in a separate file, with versions for both Python 2.7 and 3.4

$25 hack.hands() coupon, for 24/7 live Python assistance

60-day money-back guarantee

Buy the consultant package: $179

Developer package

The 159-page ebook

containing 50 exercises in Python, as well as solutions and discussion — in PDF, Mobi, and epub formats

Video explanations

Video explanations for each of the 50 exercises — 300 minutes of screencasts!

And more..

Each of the solutions in a separate file, with versions for both Python 2.7 and 3.4

$25 hack.hands() coupon, for 24/7 live Python assistance

60-day money-back guarantee

Buy the developer package: $119

Basic package

The 159-page ebook

containing 50 exercises in Python, as well as solutions and discussion — in PDF, Mobi, and epub formats

Money-back guarantee

60-day money-back guarantee

Buy the book: $39

Not sure if the book is for you?

Many developers aren't sure if Practice Makes Python is for them. Maybe you aren't sure if the exercises will be helpful, or if they'll be too hard. If you're one of those people, then I suggest you try five exercises. If your Python skills improve from just these exercises, then Practice Makes Python will probably help you even more.

Sign up here, and I'll send you five of my favorite exercises from the book. Sign up, and begin to think like a senior Python developer today!



Readers react

..

The author shares his years of experience through the discussions at the end of each task that tie everything together. This is not a "text book" filled with theory about Python — it's a book filled with exercises to help you understand the language by doing ... by practice.

Pablo Lucena, Network administrator, Miami, Florida

..

I don't have a "standard CS" background and books like this are fantastically helpful. ... The problems I've worked through so far have made me think hard about Python and programming in general.

Anthony J. Burton, Production Engineer, Braintree

..

Contrary to the exercises that I found online I enjoy that I have to think significantly more with yours... Even though the answer I come up with might be a one-liner, I feel that I have learned a lot.

Theodoros Papatheodorou, Course leader, Ravensbourne college, London, England

Who am I?

I'm Reuven Lerner, a software developer with nearly 20 years of experience working with Python. For more than 10 years, I have taught Python to thousands of people in the United States, Europe, Israel, and China. Companies such as Apple, Cisco, HP, SANDisk, and VMWare invite me back again and again to teach their staff how to program in Python.

This experience has taught me what parts of Python are confusing. Practice Makes Python's exercises cover all of the essentials of Python — built-in types, as well as files, comprehensions, object-oriented programming, and iterators. Each exercise is followed by my own solution, as well as a discussion of why I wrote the solution in this way, and why I rejected some of the alternatives.

If you are already using Python at work, then you'll use it more intelligently, with a deeper understanding of the language. And if you were hoping to use Python, then this ebook will give you the skills you need to do so.

This ebook, and all of my teaching, is informed not only by my experience as a programmer and lecturer, but also by my PhD in learning sciences. I have studied how people learn, individually and in groups, and apply that knowledge in my courses and my writing.

Any questions?

You can reach me via e-mail as reuven@lerner.co.il, or on Twitter as @reuvenmlerner.

A second chance to buy the three packages..

Consultant package

  • The 159-page book, with 50 exercises, solutions, and discussions
  • Solutions and discussion (in PDF, Mobi, and epub formats)
  • Video explanations for each of the 50 exercises
  • Each of the solutions in a separate text file (Python version 2.7 and 3.4)
  • 30-minute conference ($100 value)
  • $25 hack.hands() coupon
  • 60-day money-back guarantee
Buy it: $179

Developer package

  • The 159-page book, with 50 exercises, solutions, and discussions
  • Solutions and discussion (in PDF, Mobi, and epub formats)
  • Video explanations for each of the 50 exercises
  • Each of the solutions in a separate text file (Python version 2.7 and 3.4)
  • $25 hack.hands() coupon
  • 60-day money-back guarantee
Buy it: $119

Basic package

  • The 159-page book, with 50 exercises, solutions, and discussions
  • 60-day money-back guarantee
Buy it: $39