Python is een geïnterpreteerde, objectgeoriënteerde programmeertaal op hoog niveau met dynamische semantiek. De hoogwaardige ingebouwde datastructuren, gecombineerd met dynamisch typen en dynamische binding, maken het zeer aantrekkelijk voor Rapid Application Development, maar ook voor gebruik als script- of lijmtaal om bestaande componenten met elkaar te verbinden. De eenvoudige, gemakkelijk te leren syntaxis van Python benadrukt de leesbaarheid en verlaagt daarom de kosten van programmaonderhoud. Python ondersteunt modules en pakketten, wat modulariteit van het programma en hergebruik van code aanmoedigt. De Python-interpreter en de uitgebreide standaardbibliotheek zijn gratis beschikbaar in bron- of binaire vorm voor alle grote platforms en kunnen vrij worden gedistribueerd.
Programmeurs worden vaak verliefd op Python vanwege de verhoogde productiviteit die het biedt. Omdat er geen compilatiestap is, is de edit-test-debug-cyclus ongelooflijk snel. Het debuggen van Python-programma's is eenvoudig: een bug of slechte invoer zal nooit een segmentatiefout veroorzaken. In plaats daarvan, wanneer de tolk een fout ontdekt, wordt er een uitzondering gegenereerd. Als het programma de uitzondering niet onderschept, drukt de interpreter een stacktracering af. Met een debugger op bronniveau kunnen lokale en globale variabelen worden geïnspecteerd, willekeurige uitdrukkingen worden geëvalueerd, breekpunten worden ingesteld, regel voor regel door de code worden gestapt, enzovoort. De debugger is in Python zelf geschreven en getuigt van de introspectieve kracht van Python. Aan de andere kant is de snelste manier om een programma te debuggen, het toevoegen van een paar printopdrachten aan de broncode: de snelle edit-test-debug-cyclus maakt deze eenvoudige aanpak zeer effectief.