Python gives you the nice features of modern, dynamic languages (you might not know what this means, but trust me: they're nice), while still forcing you to think and write clean code. Plus, it's not academic -- Python is a full-fledged, big-boy language, and people use it regularly for real work.
There are other languages that you could learn first, but Python offers a really friendly cross-section of features and flexibility that makes it an attractive beginner's language. It's definitely the language I would teach to first-time programmers, given no other constraints.
There are other languages that you could learn first, but Python offers a really friendly cross-section of features and flexibility that makes it an attractive beginner's language. It's definitely the language I would teach to first-time programmers, given no other constraints.