Interesting question, indeed. I like Python because it’s for once, a language designed for humans to use. A language should be designed for humans before the machine, as the primary users are humans. Python is optimized for reading. Its conventions are designed to be as close as possible to natural language, in this case, English. It identifies blocks with indentations, without the need for braces, just like techniques for differentiating pieces of text. It also tries to clear out concepts that could result in the language looking like hieroglyphics.
Another lesser-known reason for me is that it has an awesome, compelling, ground-breaking spirit in terms of language design. The community has nice gut feelings about innovating cool constructs. The for in loop for example. In the quest for better end-user experience languages often copy Python features. Being involved with these awesome folks and tracking proposal discussions gives one a well-grounded view of the spirit of programming. The Python team I feel is years ahead in terms of molding concepts into fine APIs, built on years of excellent legacy in this field.
Cool language, cool people. When a language is accessible to humans, cares for humans, and listens to humans, we can expect the halo around the language to be human-friendly. The Python community is an excellent, welcoming, and attentive community. Collaboration and help for events are extraordinarily smooth.
Since a language cares for humans, humans use it, a lot. Much to the consternation of wildlife hunters and killers, Python remains alive against all odds. People try to shoo it away, try to throw it outside of the window, but it remains around, firmly put. Since humans use it, they produced lots of artifacts. The Python ecosystem is vast and large. Many packages in certain fields exist only in Python. Packages are conveniently named, designed, and improved. This also indirectly speeds up the development cycle.
Even if tomorrow I switch to a typed language, I’d still keep in touch with Python to remind myself about what good language design means and keep myself inspired. It’s about keeping the body of API intuitiveness in my mind fit, in a world where newer mainstream languages adopt a disgraceful and deplorable approach to the compiler front-end experience. It’s as if the world is run by ice-age minds, who, in feeling closer to the machine treat themselves and most importantly others to a machine-minded experience. If pain is a guiding principle in determining correctness, we’d have fun talking about how some languages propose a case for adoption while inflicting upon people the wincing pains programming had to offer when it was still fumbling along the corridors of the dark ages of pragmaticism, based on a language invented by the admission of its own authors as a joke.