I have planned 6 steps for you to learn Python and, learning Python is no Rocket Science.
I am also Providing Resources from where you can Learn Python.
1. Start With basics
Unless you know the basic syntax, it's hard to implement anything.
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 interest.
Spending 3-4 days on basics are enough to start on a project.
For reference I am giving links of python basics
I am not saying “spend only few days on basics”.
What I want to convey is, quicker you can get to working on projects, the faster you will learn.
You can always refer back to the syntax when you get stuck later.
2. Setup your computer
Install Python from https://www.python.org/ as per your operating system Install an IDE for implementation(My Suggestion: Pycharm) (By default, Python provide IDLE)
- A library is actually a bundle of pre-existing functions and objects that can be imported to your script to save time and efforts.
- Essential libraries for Data Science and ML
4. Time for Project
Create something Real on Python.
You will make mistakes, get stuck many times, but gradually you will find ways to come out of your problems.
On the journey of finding answers to your queries you will learn new things and here the real learning will start.
Unless you actually apply your knowledge, you won't be able to retain it well.
Projects are a great way to learn because they push your capabilities, show you how to apply skills, and give you a portfolio to show employers in the future.
5. Work on project of your own
Once you have 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 you'll be fitting what you learn into the needs of your project, not the other way around.
Finding other people to work with here can both help you learn and help keep you motivated.
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 you'll never make one.
6. Keep Working on harder projects
Keep increasing the difficulty and scope of your projects.
If you're completely comfortable with what yo u're building, it means it's time to try something harder.
At the end of the day, python is evolving and changing all the time.
There are probably only a few people who can legitimately claim to completely understand it.
You'll need to be constantly learning and working on projects.
If you do this right, you'll find yourself looking back on your code from 6 months ago and thinking about how terrible it is.
If you get to this point, 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.
References for Advanced stuff:
Here are a few advance stuff based on python which you may start learning once your fundamentals are clear.
- Django Framework (The Web framework for perfectionists with deadlines) - Used for web development.
- NLTK (Natural Language Toolkit) - For working with semantics, NLP, ML and so many other core computer science concepts.
- Game Development and UI with Python – (Page on coursera.org)
- Commonly used Python packages like Numpy, Scipy, Matplotlib etc.
- Crawling with Python using beautifulsoup, urllib2, selenium, requests, etc.
- Testing in Python - unittest, nose
- Tools like virtualenv, Tox, pylint, Travis - that will help you automate your build, dependency installation and ensure coding standards
- Database interaction using SQLAlchemy (The Database Toolkit for Python)
References for Website:
- Data-Flair Website:
The best place to learn Python is Data-Flair where you can start Python from scratch and gradually master over the language at your own pace in a reasonable time period even if you have no coding background. It makes learning so simple and thought-provoking that you will just start to love programming.
- Google Python Classes:
This is a free class for people with a little bit of programming experience who want to learn Python. The class includes written materials, lecture videos, and lots of code exercises to practice Python coding.
These materials are used within Google to introduce Python to people who have just a little programming experience.
The first exercises work on basic Python concepts like strings and lists, building up to the later exercises which full programs are dealing with text files, processes, and http connections.
The class is geared for people who have a little bit of programming experience in some language, enough to know.
Right now I can only think of this many.
You will obviously discover more as your learn more.
All that in python.
It was fun and took a few hours.