Python is an interpreted, object-oriented, high-level programming language with dynamic semantics. Its high-level inbuilt data structures, combined with dynamic typing and dynamic binding, make it very attractive for Rapid Application Development, also as to be used as a scripting or glue language to attach existing components together. Python’s simple, easy to find out syntax emphasizes readability and thus reduces the value of program maintenance. Python supports modules and packages, which inspires program modularity and code reuse. The Python interpreter and therefore the extensive standard library are available in source or binary form for free of charge for all major platforms, and may be freely distributed.
Often, programmers fall crazy with Python due to the increased productivity it provides. Since there’s 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 a mistake , it raises an exception. When the program doesn’t catch the exception, the interpreter prints a stack trace. A source level debugger allows inspection of local and global variables, evaluation of arbitrary expressions, setting breakpoints, stepping through the code a line at a time, and so on. The debugger is written in Python itself, testifying to Python’s introspective power. On the opposite hand, often the quickest thanks to debug a program is to feature a couple of print statements to the source: the fast edit-test-debug cycle makes this easy approach very effective.