Python is powerful, high level and object oriented programming language. It is an interpreting language which executes the program directly. It is also a high level language with a strong abstraction from computer. It deals with object, arrays, functions, loops rather than registers, memory addresses. Python is English like so quite handy for beginners. Code is very easy to read as it resembles like English. It is a versatile language which allows you to do data mining, data scraping, app building, create program games. Widely available resources and healthy, active and supportive community makes it one of the most demanding language of present scenario. Availability of scientific tools like SciPy, NumPy and visualization tools like Matplotlib makes it useful for different mathematically applications. Such extensive library support aids in implementing the algorithms of machine learning in python in a better way. Python is developed under an OSI-approved open source license, making it freely usable and distributable, even for commercial use. It has powerful control capabilities as it calls directly through C, C++ or Java via Jython. Python also processes XML and other markup languages as it can run on all modern operating systems through same byte code. All these features and productive results make it fit for many tasks. In practice, choice of programming language depends upon cost, availability, type of application you need to build and your understanding of language. Common part with every programming is logics and they remain same for all. Only difference lies between the syntax, features and structure of different programming languages.