Python is a popular general purpose programming language whose philosophy focuses mainly on code readability and maintainability. As a high level, interpreted language, Python is easy to learn for those who want to start coding.

Often, programmers fall in love with Python because of the increased productivity it provides. Since there is no compilation step, the edit-test-debug cycle is incredibly fast. Debugging Python programs is easy: a bug or bad input will never cause a segmentation fault. Instead, when the interpreter discovers an error, it raises an exception. When the program doesn’t catch the exception, the interpreter prints a stack trace. The debugger is written in Python itself, testifying to Python’s introspective power.