versatile, easy-to-learn, interpreted programming language


Getting started with Python is as easy as typing python at the command-line. Novice programmers enjoy intuitive syntax, loosely-typing, and freedom from statement-terminating semicolons. Yet Python's pedagogical value does not take away from its power and versatility. Code can be run from a script or the interpreter. The built-in subprocess module adds the power of Linux commands. The language includes full objective-oriented capabilities. Python's greatest strength is its vast collection of third-party software: everything from numerical libraries like NumPy, to modules for editing song metadata like Mutagen, to large web frameworks like Django.

Python has undergone rapid development since it was born in 1991. It has not been easy for the community to balance the introduction of new features with the maintenance of backward compatibility and language purity. For instance, Python 3 repurposes the / operator for "regular" division and introduces the // operator for integer division. (Python 1 and 2 followed C/C++ where 7/2 = 3, the old-school way. ☺)

This turbulent development means setting up Python on your system can be a bit complicated. The version of Python shipped with your operating system will often be old and incompatible with a module you'd like to use. Some users opt for alternative Python distributions as a complete replacement. One flexible approach is to set up a virtual environment with virtualenv and add the needed modules from PyPI using pip. Still, some programs (e.g., Blender) bundle their own version of Python — there is no perfect solution at the moment.