QUOTE(Stutzbach @ 5 Oct, 2008 - 04:24 AM)

That said, Python is mainly used for scripting behind-the-scenes. If you want a graphical user interface (GUI), you'll need a third-party GUI library for Python, and you may be better off sticking with C++ or perhaps C#.
Correct me if I'm wrong, but Tkinter is built into Python, and C++ has no built in GUI libraries. Yes, Python is considered by most a scripting language, but don't let that turn you off to it. You can go and make cool games with Pygame or any of the other game engines for Python, you can download NumPy and have a powerful Matlab substitute and you can create cross-platform GUI programs with PyQT (or Tkinter).
And C# is cool too.
But like Stutzbach said, learning another language won't help you if you still don't know how to properly implement it (with good OOP, readable code, etc). You might want to check out a book on OOA&D (object oriented analysis and design). I ran through Head First OOA&D at Barnes and Noble and like all of their books, it looked easy to understand and because they give examples using UML (unified modeling language) the syntax and "theory" should be familiar to your current C++ knowledge.
Either way, it's never bad to learn another language. C# is in my list, Python I'm currently working on, Java I've already learned and C++ is on its way too. Cool thing about Python though; it can easily be used to add flexibility to your C++ code. Import the Python interpreter and you can code changes very quickly and easily.