Ever spent three hours trying to find that bit of knowledge that everyone seemed to have but you?
As a self-trained Python developer, I've sometimes found myself stuck in that knowledge crater, between tutorials far simpler than real life, and articles more advanced than I could comprehend. Even the documentation felt like a firehose of information, making it nearly impossible to find the one basic thing I needed to know.
In this series, I'll be exploring a few of these topics, in a way that hopefully makes them dead simple!
While programmers at all experience levels may find this series useful, I'm specifically targeting Python novices. I am assuming, however, that you have a very basic understanding of programming. The coding topics especially will be more focused on the Python way of doing things, not on the underlying generic concept.
With that said, if you're an intermediate-level Python developer, you may still find it helpful to follow along with the series. Although I've been working with Python for nearly eight years, some of these topics didn't really "click" for me until recent years. These are the explanations I wish I'd had!
All of the topics I'm discussing here go much, much deeper. However, I don't want to muddy the waters, so I'll be omitting a considerable amount of detail. Once you're comfortable with a topic, and have done it a few times yourself, I recommend going back and reading through the official Python documentation on the topic.
The official end-of-life for Python 2 is rapidly approaching, so you should learn and begin using Python 3 as soon as possible! This entire series is geared towards Python 3, with a bias towards 3.6 and 3.7, except as otherwise noted.
The articles in this series are frequently being reviewed by my fellow Python experts, and by the Dev community at large. I will expand and revise accordingly. Always check the edit timestamp at the top of the article.
The current series plan is below. Please note, I may rearrange, add, or remove planned sections.
- 1: Virtual Environments and pip
- 2: Project Structure and Imports
- 3: Data Typing and Immutability
- 4: Classes
- 5: Errors
- 6: Loops and Iterators
- 7: Iterator Power Tools
- 8: List Comprehensions and Generator Expressions
- 9: Generators and Coroutines
- 10: Lambdas, Decorators, and Other Magic
- 11: Working with Files
- 12: Context Managers
- 13: File Formats
- 14: Binary
- 15: Async
- 16: Threads
- 17: Multiprocessing
- 18: Random Numbers
- 19: Testing
- 20: Debugging
- 21: setup.py and Packaging
- 22: Python Flavors: CPython vs. Pypy