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.
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?
- “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.
- 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.
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:
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!
Founder and principal author