In this blog post, I am going to cover- Why should you learn Python , what can you do with Python programming language, best resources to learn python and a learning curriculum to learn Python.
Why should you learn Python & What can you do with it?
Python is an easy programming language for beginners to start out with. It’s very beginner-friendly. Its conciseness, expressiveness, and likeness to English. The language is designed to be easy read ,while still being very powerful, which makes it a great programming language for anyone to learn.
Before start diving into learning python, it’s important to know what you want to program on and for & what’s your goal that you want to achieve using Python. It’s really really important to know why you want to learn python.
Figuring out why you want to learn will help you figure out and end goal, and a path that gets you there without any boredom. And you don’t have to figure out an exact project, just a general area you’re interested in.
You can Pick an area you’re interested in, such as:
Data Analysis/ Machine Learning/ Deep Learning
Building Websites - Using Django, Flask
Script to automate your work
Internet Of Things
Python has a large community which wants to see it grow continuously. Since it is open-source, people from the community are always at work trying to improve it.
A large community also means availability of a large number of libraries, modules, and packages to help you with your project. This, in turn, further contributes to the growth of the community.
Here are some links below you can check them out:
- Stackoverflow- https://stackoverflow.com/questions/tagged/python
- Python Subreddit- https://www.reddit.com/r/learnpython/
- Official Python Forum- https://www.python.org/community/forums/
A learning Curriculum To Learn Python
The learning plan, something I’d create for myself if I were to get started today
Here’s an outline of things to learn
Introduction (Getting started, History of python, Installation of python and all)
Keywords & Identifiers
Statements & Comments
Data types- Lists, Strings, Tuples, Sets, Floats, Ints, Booleans, Dictionaries
I/O - Sys module, Standard input/output, reading/writing files
- Flow Control
- For loop
- while loop
- break and continue, Pass Statement, Looping Technique
- Python Function
- Function Argument
- Python Recursion
- Anonymous Function
- Global, Local and Nolocal
- Global Keyword
- Python Modules & Package
- Object & Class
- Python OOP
- Inheritance, Multiple Inheritance
- Operator Overloading
- File Handling
- File Operation
- Python Directory
- Exception Handling
- User-defined Exception
- Additional Learning
- Iterators, Generators, Colures, Decorators
- Python Assert
This list is a decent enough outline of what kind of learning path you should be taking. Of course, there are things like data structure and algorithms that can be thrown in there while you’re at it. But learn all as you go.
Best Resources To Learn Python
If you prefer to learn by reading, here are some links:
Also practice problems as you go, practice makes us better :
Python Exercise & Problem Solving
Free MOOC Certification Courses
Of course you need a code editor to run python programs after installation. The default Python installation comes with IDLE , you can type and run code there. But if you need an IDE for python
Here are some links :
Type Python In Your Browser
PythonAnywhere (Py2 & Py3) — Python in your browser
Trinket.io - python with turtle graphics
ideone (Py2 & Py3) — online compiler and debugging tool
Python Tutor (Py2 & Py3) — Visualize what the code does line by line.
Computer Science Circles (Py3) — also provides Python Tutor’s visualization
At the end of the day, Python is evolving all the time. There are only a few people who can legitimately claim to completely understand the language, and they created 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. Working only on things that interest you means that you’ll never get burned out or bored.
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.
I hope this guide has been useful on your journey.