How does I learn Python?
This article is excerpted from Quora, which is about learning python. The best thing for me is not to teach me how to learn python, but to "find out what motivates you" (find motivates), and learning itself should be a pleasure. Motivation is the key, to find their own learning motivation, self-driven to keep learning.
Body:
The most important question to answer first are why does I want to learn Python? Answering this'll guide, what's the use of learn and how are you learn.
Starting with a very generic list of resources to learn python when you eventually want to make websites (for example), WI ll not only reduce your motivation, it'll also make it much harder to apply the knowledge you gain. I ' ve tried to learn coding without context and application, and I-ve almost never come out of it with any meaningful skill S.
When I learned Python 3 years ago, I wanted to create websites. It shouldn ' t come as a shock to anyone, the best-to-learn how-to does this is to create websites.
1. Find What motivates
Finding and keeping your motivation is key--I slept through a lot of the one high school programming class I took Becaus E It made us memorize a bunch of syntax. On the other hand, when I needed to learn python to make a automated essay scoring algorithm, I stayed up many late night s learning and iterating.
Motivation is rarely addressed in learning--you ' re often just given a list of generic tutorials to try, and told to go D o them. But the great thing about Python is so you can develop almost anything, from mobile apps to games to advanced machine Le Arning algorithms. No matter what do you ' re interested in, can probably build it in Python, and there ' s probably a good getting started Tuto Rial.
Pick an area or both so you ' re interested in, and stick with them--you'll be developing quite a few projects in the area S.
Here is some sample areas, but feel free to add your own:
- Websites
- Mobile Apps
- Games
- Data Science/machine Learning
2. Learn some basic Python syntax
Unless you know the basic syntax, it's hard to implement anything. That's said, don ' t spend too long on this. The goal is to learn the very basics, so you know enough to start working on your own projects in your areas (s) of Interes T.
For reference, I spent less than a week in Codecademy, and went through about 30% of the material. This is enough to get started on a project.
Some resources that can help you:
- Codecademy--Does a good job of teaching basic syntax.
- Learn python the hard-to-book, teaches a lot of Python concepts.
- Dataquest.io--This is my startup. It's focused on teaching Python for data science and it teaches all the basic syntax also.
- The Python Tutorial-the Tutorial on the main python site.
I can ' t emphasize enough that's should only spend the minimum amount of upfront time possible on basic syntax. The quicker can get to working on projects and the faster you'll learn. You can always refer back to the syntax if you get stuck later.
3. Make structured projects in your chosen area
Unless you actually apply your knowledge and you won ' t being able to retain it well. Projects is a great the learn because they push your capabilities, show how to apply skills, and give you a PORTFO Lio to show employers on the future.
When you start out, the it can be helpful to has more structured projects with some guidance. Here is a few ideas:
Games
- codecademy --walks you through making a couple of the simple games.
- Pygame Tutorials --Pygame (the Python library for making games) has a good list of tutorials
- Making Games with Pygame--the book looks like a great the to learn Python by Making Games
Websites
- Flask Tutorial -The official Flask (Simple Python web framework) tutorial.
- Bottle Tutorial --Bottle (even simpler web framework for Python) tutorial.
- How to Tango with Django 1.7 --A guide to the using Django (more complex Python web framework)
Mobile Apps
- Kivy Guide--Kivy are the tool that lets you do mobile apps with Python. They has a guide in how to get started.
Data Science
- Dataquest.io --Teaches you python and data science interactively. You analyze a series of interesting datasets ranging from the CIA documents to NBA player stats.
- Scikit-learn Documentation --Scikit-learn (the main machine learning library for Python) has some great document ation and tutorials.
- python for Data analysis – written by the author of a major Python Data analysis Library (pandas), it ' s a good I Ntroduction to analyzing data in Python.
4. Work on projects on your own
Once you has learned the concepts in a guided manner, it's time to work on some projects on your own. You'll still need to consult references and look up concepts, but if you'll be fitting what's learn into the needs of your Project, not the other, is around.
Finding other people to work with this can both help you learn and help keep you motivated.
Some ideas:
- Extend The projects you were working on previously, and add more functionality.
Go to Python meetups in your area, and the find people who is working on interesting projects.
- Find Open source packages to contribute.
- See if any local nonprofits is looking for volunteer developers.
- Find projects Other people has made, and see if you can extend or adapt them.
My first project was adapting my automated essay scoring algorithm from R to Python. It didn ' t end up looking pretty, but it started me on the journey to learning Python.
The key is to pick something and do it. If you get too hung up on picking the perfect project, there's a risk that's you'll never make one.
5. Keep working on harder projects
Keep increasing the difficulty and scope of your projects. If you're completely comfortable with what's you ' re building, it means it's time to try something harder.
Here is some ideas for if that time comes:
- Try teaching a novice how to does your current project.
- Try Load Testing Your website-can you scale it up?
- Can do your program run faster?
Going forward
At the end of the day, Python was evolving and changing all the time. There is probably only a few people who can legitimately claim to completely understand it.
You'll need to being constantly learning and working on projects. If you don't, you'll find yourself looking back on your code from 6 months ago and thinking about how terrible it Is. If you get the "This", you're on the "right" track.
Python is a really fun and rewarding language to learn, and I think anyone can get to a high level of proficiency in it if They find the right motivation.
How do I learn python?