Learn Enough Python to Be Dangerous

Dec 15, 2022 • posted by Michael Hartl

Michael Hartl here from the Rails Tutorial and Learn Enough.

I’m pleased to announce that Learn Enough Python to Be Dangerous is now available! As usual, the online course features both book-length text (approximately 450 pages print-equivalent) and embedded streaming videos (nearly 9 hours’ worth), as well as integrated progress tracking and over 100 exercises. The only prerequisites for Learn Enough Python to Be Dangerous are the developer tools covered by the Learn Enough Command Line, Text Editor, and Git tutorials.

A meaningful moment

The release of Learn Enough Python to Be Dangerous is especially meaningful to me for two reasons. First, although nowadays I’m probably better known for my work in the Ruby community (especially the Ruby on Rails Tutorial), Python is the first programming language I really loved. I used Python heavily both in graduate school and in my first startup (where I wrote my own half-baked web framework in Python since Django hadn’t been developed yet). With Python’s combination of power and intuitive design, I felt like I could use it to solve practically any problem I encountered.

Second, this is a poignant moment because Learn Enough Python to Be Dangerous is my final Learn Enough tutorial. As noted in the acquisition announcement, Learn Enough was acquired earlier this year by a tech private equity group. Although completing Learn Enough Python to Be Dangerous was not a requirement of the acquisition, I started work on it last year and was eager to see the project to its completion. Also, did I mention that Python is the first programming language I really loved?

A multitude of topics

Students of Learn Enough JavaScript to Be Dangerous and Learn Enough Ruby to Be Dangerous will find a lot of material they are already familiar with. Indeed, this is very much by design—seeing the same basic problems solved in multiple languages is a great way to learn. The topics thus include things like:

  • “Hello, world!” in the Python interpreter, as a standalone program, as a shell script, and as a web app
  • Objects like lists (similar to arrays), dictionaries (also called associative arrays or hashes), times and datetimes, and regular expressions
  • Functions and functional programming, including list, dictionary, set, and generator comprehensions
  • Objects and classes
  • Testing and test-driven development (TDD)
  • Publishing a Python package
  • Using Python for shell scripts
  • Writing and deploying a Python web application with Flask (Python’s equivalent of Ruby’s Sinatra)

You can get a good sense of what the tutorial covers by taking a look at the table of contents and the three free sample chapters in the online book.

A data-science monster

In addition to the topics mentioned above, Learn Enough Python to Be Dangerous includes a monster chapter (approximately 80 pages) on a topic not covered at all in the JavaScript or Ruby tutorials but a big deal in the Python world—namely, Python tools for data science:

  • Jupyter for interactive calculations
  • NumPy for numerical computations
  • Matplotlib for data visualization
  • pandas for data analysis
  • scikit-learn for machine learning

Preparing the data-science chapter required a tremendous amount of effort, drawing heavily on my background in scientific computing and including generous assistance from a couple of highly qualified friends (a professional data scientist and an economics professor who teaches a university course on—wait for it—data science with Python).

This one chapter alone added several months to the project (both text and videos), but I’m thrilled with the result. Learn Enough Python to Be Dangerous not only gives you a solid overall foundation in Python, it also gives you a great head start on using Python for data science.

How to get it

Although available as a standalone course, the best way to get Learn Enough Python to Be Dangerous is with the All Access subscription, which includes all of its prerequisites as well as the full Ruby on Rails Tutorial:

  • Learn Enough All Access: The All Access subscription includes all of the Learn Enough tutorials, including Developer Tools, HTML & CSS, JavaScript, Ruby, Ruby on Rails, and (of course) Python.

Finishing Learn Enough Python to Be Dangerous has been deeply satisfying and gives me a real sense of closure. I really wanted to share my take on this wonderful language with the world, and I’m glad I had the opportunity to do so.

I hope you enjoy it!

Best wishes,

Michael Hartl
Founder and principal author
Learn Enough

P.S. If you’d like to keep in touch, you can subscribe to my personal mailing list and follow me on Twitter.

learnenough-news , tutorials , python