Python Fundamentals

With the advent of Machine Learning and Automation - one language that was standing out was Python. It seemed to be a language that can do ML, automation, desktop, web, data analytics and even Raspberry pi. So, I thought it is worth to understand the basics.
I was not looking to understand all the details and complex constructs available in Python. My general idea when learning a new language is to understand the data types, if/else conditions, for/while loops, functions for re usability, classes for making the code modular and exceptions to handle errors. Rest of the stuff, I try to figure out on a need basis.

One thing that stood out for me is number of characters in a Python code compared to other programming languages. You can get a lot done in few lines of code. 

Similar to JavaScript, Python doesn't care much about strong-typing. And, that is a big drawback for me. It might not be for others but to me strong-typing is extremely important.

The code is hosted here at Github

It's no where close to even being called a tutorial but surely a fast way to get up and running with Python.