How to get started with Python? Create a website as an example.
The first important question is why we need to learn python? This question will guide you how to learn Python and how to learn it.
Take the website you finally want to create as an example. Starting from a general list of learning resources, it will not only kill your passion, but also make it difficult to apply the knowledge you have gained. I have tried learning programming without context and specific applications, but I have almost no useful skills.
When I learned python three years ago, I wanted to create a website. This is not surprising for anyone studying Pyhon.
1. Find out what inspires you
Finding and maintaining your motivation is the key-I slept a lot in high school in programming classes because it only made us remember a bunch of syntaxes. On the other hand, when I need to learn python to create an automatic essay Scoring Algorithm, I stayed up late for several nights to learn and iterate.
Motivation is rarely involved in learning-You usually just follow the tutorials given by others to try something. However, the greatness of python is that you can develop almost everything, from mobile apps to games to advanced machine learning algorithms. Whether you are interested or not, you can build it in python and may have a good getting started tutorial.
Select one or two things you are interested in and stick to it-you will develop many projects in this field.
The following are some examples, but you can add them as needed:
- Website
- Games
- Data Science/Machine Learning
2. understand some basic python syntax
Unless you know the basic syntax, it is difficult to implement anything. Even so, do not spend too long on it. Your goal is to develop projects you are interested in. learning basic syntaxes is enough.
For reference, I spent less than a week on codecademy and learned about 30% of the syntax. This is enough to start a project.
Some resources that can help you:
Codecademy-suitable for learning basic syntax
Learn python the hard way-a book that teaches many python concepts.
Dataquest. io -- this is my first website to learn Python. It focuses on teaching you how to use python in data science, but it can teach you all the basic syntax.
Python tutorial-a tutorial on the main python site.
I once again stressed that we should not spend too much time on basic syntax in the early stage. The sooner you start the project, the faster you will learn. When you encounter a problem, you can go back and look at the syntax.
3. structured projects
Unless you actually apply what you have learned to a real project, the knowledge you have learned will gradually become lost. Project is a good way to learn, because it can promote your abilities and let you know how to apply the skills you have learned, in addition, you can show things when looking for a job.
When you start working, more structured projects with guidance will help you a lot. Here are several ideas:
Games
Pygame tutorials-pygame (the python library used to create the game) has a good list of tutorials
Making games with pygame-This book looks like a good way to learn python by Making games
Website
Flask tutorial-official flask tutorial (simple python web framework ).
Bottle tutorial -- Bottle tutorial (simpler python web framework ).
How To Tango With Django 1.7-A django Guide (some complicated python web frameworks)
Data Science
Dataquest. io-teaches you how to interact with Python and data science. You can analyze a series of interesting statistical data sets from CIA files to NBA players.
Scikit-learn documentation-Scikit-learn has some good documentation and tutorials (the main Machine Learning Library of python ).
Python data analysis-written by the main author of the python data analysis Library (pandas), which provides a good introduction to data analysis using python.
4. Develop your own project
Once you have learned these concepts in a guided manner, it is time to start some projects on your own. You still need to check the reference materials and find out the concept, but you will apply the knowledge you have learned based on the project requirements, rather than the opposite.
Finding someone else to work with can help you learn and stay motivated.
Some of my suggestions:
- Expand your previous project and add more features
- Go to the python gathering in your region and find the person who is developing an interesting project.
- Search for open-source packages and make contributions.
- Check if any local non-profit organization is looking for volunteer developers.
- Search for projects that have been completed by others and see if you can scale or rewrite them.
My first project was to rewrite my automatic text Scoring Algorithm from R to python. It didn't look pretty in the end, but it was the beginning of my journey to learn Python.
In fact, the key is to choose something to do. If you only want to make a perfect project, you may never make a project.
5. Be brave in challenging more difficult projects
Increase the difficulty and scope of your project. If you feel relaxed about what you are developing, it means it is time to try something more difficult.
The following are some ideas at the time:
- Try to teach a newbie how to do your current project.
- Try to load and test your website-for example, can you scale it up?
- Can you make your program run faster?
6. Conclusion
In any case, python is constantly evolving. Only a few people can assert that they fully understand it.
You need to keep learning and researching projects. If you do this, when you look back at the code you wrote six months ago, you will feel how bad the code is. If you have reached this level, congratulations, it means you are on the road.
Python is a very interesting and worth learning language. I think that as long as you find the right motivation, know why you are learning Python, and what you are using it for, you will gradually become proficient in it.