Yes, it is.
I beg to differ with some earlier answers. Unlike Alice, Scratch, Pascal, Basic and several others, Python is not designed for or intended for beginners. What makes it a good "first language" is that it is higher level than most other languages used "in production".
The language matters for an educational program more than it does for an individual, though. The best language for any specific beginner is a language he will stick with long enough to write programs on his own. Having seen many good programmers who started with many different languages, I've come to be of the opinion that someone who "is cut out for" a career in computer programming will succeed with any starting language.
Python has a few things going for even those who may use programming as a secondary job skill or maybe even as a hobby. There are high-quality, free implementations on every major platform (on mobile devices, even); and there are lots of free and reasonably-priced educational options online, in print and in classrooms.