I’m cobbling together some sort of an introduction to Python, but one that focuses on the community and the ecosystem around Python rather than just the language. With How to Think Like a Computer Scientist and other great tutorials, it’s easy to get familiar with the language, but it took me a fair while before I knew what The Cheese Shop, or, err, PyPi is about, how pip and virtualenv work and why you should use them, where you should go for help, the interesting blogs that you should follow, how your code should look (PEP 8, writing pythonic code) and so on. The ‘soft stuff’.
What confused you the most when you just started out with Python? Are there certain things that you would’ve wanted to know about, or resources you wish you would have stumbled upon earlier than you did? People to know about?
I found a few similar questions on StackOverflow (e.g. here) but nothing really close to what I’d like to hear from you guys. Hope this question doesn’t feel too subjective to your tastes 🙂
(And, if you’d like to help out, feel free to send a message.)
“What confused you the most when you just started out with Python?”
Rule 2 of learning Python: Any general-purpose module or framework you think you want has already been written. Several times.
The hard part is realizing that your idea is
Not unique.
Been already improved upon before you even starting thinking about it.
Already posted somewhere.
So, code less and search more. Search widely and flexibly until you find things that are similar to what you want to do.
Realize that you might have a name you think is descriptive. But other folks may call it something different. Join the community, adopt their naming. You may not like the phrase “ORM”, but that’s what it’s called.
Realize that your idea, no matter how sound it seems, may be really poor. When you find a framework that seems to have “needless extra features”, you may be missing something from your idea.
Realize that your idea, no matter how “intuitive” it seems, may be really poor. When you find a framework that seems “counter-intuitive”, the problem could be yours. Learn theirs first, then compare and contrast after you’ve mastered theirs. Until you’ve mastered theirs, keep searching and learning.