I agree with wireties, but I would have to argue that python deserves more credit than being a "specialized 4GL tool". Python is available on just about every platform and is increasingly becoming a must know language. Entire applications and frameworks have been built using python (Django and anything built with it is an excellent example), but it is also equally effective as a "automation" language to replace the typical unix based scripting. It is an incredibly dynamic and powerful language.
Speaking from the stand point of a software engineer/computer scientist, I agree with the statement of C/C++ or Java is better suited for those who are seeking such a degree. I also agree that they are similar enough to each other to negate any steep learning curve between the two. Java, in my opinion, is a bit easier to conceptually understand, however, as was stated it does have it's memory issues as well. It is very easy to accidentally hold on to a reference to an object thus keeping it from being garbage collected. Therefore, don't let the memory management aspect of C++ scare you away. Though, pointers tend to put the fear of God in some people.
A good computer scientist/software developer isn't going to constrain themselves to one language or even two. A healthy knowledge and proficiency in multiple languages is absolutely necessary. For instance, I use on a regular basis in my job the following languages: Java, C/C++, Python, Ruby, PHP, JavaScript, Scala, ActionScript and Objective-C. Sometimes, all in one day.

They all have their pros and cons but each was selected for a very specific reason. Much like C/C++ is selected for most system level applications and Java is selected for most Web Applications. I like to look at it as layers of abstraction. At any rate, the point I want to make is that you should continue learning and exploring new languages and don't ever limit yourself.