Moim zdaniem jest wiele czynników. Osobiście dla mnie najważniejszy jest fakt, że Python posiada bardzo dużo zaawansowanych bibliotek z wielu dziedzin informatyki i nauki. Dzięki temu nie muszę się zastanawiać, w jaki sposób napisać wybrane narzędzie, tylko przeczytam dokumentację i mogę rozwiązywać dane zagadnienie. Dobrym przykładem jest moduł numpy, który oferuje m.in. operacje macierzowe. Są one zaimplementowane z wykorzystaniem języka C (i biblioteki ATLAS), by przyspieszyć obliczenia. Wątpię, bym samodzielnie napisał tak zoptymalizowane narzędzie w C, zwłaszcza w krótkim czasie, gdy byłoby mi potrzebne na już. To jest główny powód tego, że nadaje się do wielu dziedzin, a jego popularność może wynikać z:
- Python jest językiem interpretowanym, nie wymaga kompilacji. Dodatkowo jest językiem dynamicznie typowanym, co oznacza, że nie trzeba deklarować typu zmiennych. Oba te mechanizmy przypominają mi PHP z wcześniejszych wersji, gdzie można było w locie sobie pisać kawałek kodu i po odświeżeniu strony podejrzeć zmiany. Kojarzę, że obecne standardy PHP wymuszają listowanie typu przekazywanych argumentów. Wiele początkujących osób łapie zajawkę na programowanie dzięki PHP. Możliwe, że podobny mechanizm jest z Pythonem.
- W przeciwieństwie do PHP Python posiada swój własny wiersz poleceń (Command Line Interface/ CLI), który umożliwia testowanie krótkich kawałków kodu. Wpisujemy kod, wciskamy Enter i otrzymujemy wynik. Ponadto istnieje nakładka na CLI - Ipython, która oferuje dużo większe możliwości, np. uzupełnianie kodu tabulatorem, przywracanie kodu złożonego z wielu linii, wbudowane magiczne komendy (można np. zbadać szybkość wykonywanego kodu).
- Python posiada ciekawe wbudowane mechanizmy, np. List Comprehensions, generatory, dekoratory, docstrings oraz obsługuje kilka paradygmatów programowania.
- Python jest dojrzałym językiem. Powstał w 1991 r., czyli ma 27 lat. Dzięki temu jest domyślnie instalowanych w dystrybucjach Linuxa. Nie trzeba się martwić o stawianie serwera, czy kompilowanie źródeł. Chyba że używa się Windowsa, no ale w przypadku tego OS, to tyczy się chyba wszystkich języków programowania.
Podsumowując Python nadaje się do wielu zadań, ponieważ ma ogromną ilość bibliotek. Szeroka liczba modułów wynika z różnorodnych, dobrze zdefiniowanych właściwości języka, które zachęcają do korzystania z tego języka.