Some of the explanation for Python's growth at the college level (e.g., ease of use) can be applied to other languages as well as Python.
So why has Python seen such a high adoption rate within introductory CS classes at universities?
It seems to me this is important since the choice of what programming language is first learned may influence a students' first impression of the field of computer science.
Anecdotally, students like Python classes better because they can get more done faster (fewer lines of code, easier to use libraries, more friendly ecosystem) than in the other popular teaching languages—Java & C++. And since they're more engaged and excited it helps with retention, so of course faculty is in favor of it too. Another benefit of Python as a teaching language is that it has a pretty strong resemblance to what most pseudocode typically looks like.
So, I don't think there's just one reason, but the reasons I can think of are:
- succinct, easy to read syntax
- welcoming community
- strong library ecosystem
- excellent cross-platform story
- limited boilerplate to get started
Many languages check some of these boxes, but few check all of them. Also, being used widely in machine learning/data science has made Python popular in academia as well.