Why Python? Because it’s a very easy to use programming language. Python is an object-oriented programming language which is dynamically typed. This simply means that behind the scenes Python treats everything as objects and does not have variable type declarations unlike say C++ wherein if you wanted to define an integer, you’d probably write it as int x.

Python has two versions (2.X and 3.X). Although most of the people would use the latest version, a lot of the work that has been done is in Python 2.X. Hence the dilemma. Both the versions have an overlap of maybe 80%. Remaining 20% functionality differs between both the versions. And they are not compatible. If you are a beginner, my advice to you is to use 3.X version.

The best way to learn python is by downloading Anaconda. This distribution has a lot of IDE’s (Integrated Development Environment’s) like Jupyter Notebook and Spyder. If you are a beginner, spend time with the command line prompt also. If you have to mix your code with say comments and images, Jupyter Notebook will come to your rescue, whereas Spyder is used for full-blown code.

Python includes a rich set of functions and other libraries which you can import into your programs. It is also a very good fit for doing data science. Right from modeling to visualization. Machine learning algorithms are built into libraries like Scikit-Learn, mathematical functions in NumPy, data munging with Pandas and statistical operations with StatsModel.

A list of features that core Python offers are:

  • Lists
  • Tuples
  • Dictionaries
  • Sets
  • List Comprehensions
  • Lambda functions
  • Slicing and Dicing
  • And many more

Before you get started with libraries like NumPy or Pandas, you at least need a sound understanding of the above core Python modules. You will learn things like ndarrays (NumPy) and data frames (Pandas) which are used for various applications. For visualization, Python includes libraries such as matplotlib, seaborn, bokeh etc.

If you need to write a Random Forest algorithm it’s readily available. If your requirement is to write a Gradient Descent function that is also available. Most of the machine learning (ML) and Deep Learning (DL) models are available in Python. And being open source, you can expect a rich set of functions and abstractions in places like GitHub and the rest of the Python community.

There are many Python resources available on the Web. You may also want to check the video courses on Udemy and YouTube.

Python is the fastest growing programming language popularity wise. So, go ahead, dive into it. It’s well worth the time you spend.