I am learning Python right now and it is pretty cool. Just out of curiosity, would it be a easy transition to learn C++ after I master Python?
I have Langtangen and agree it's excellent. I'd disagree w/ the recommendation of Swig now, especially for those starting out. Ctypes IMO has eclipsed it as the best bet: far easier to use, learn, and debug, comes builtin w/ Python, and for some things out performs Swig substantially. Downside is Ctypes won't handle C++For what little it's worth, I've often found Boost::Python to be perhaps the most severely lacking component in the Boost libraries. (The reasons are technical and I won't discuss them here.)
On the other hand, Swig is a great way of wrapping C/C++ code so that it can be used with Python (among many other languages). It's discussed in several places but a really useful introduction to it, as well as to the use of Python more generally in a scientific context, is Langtangen's https://www.amazon.com/dp/3540739157/?tag=pfamazon01-20&tag=pfamazon01-20. (Langtangen's book is wonderful for many reasons but it also does a really good job of illustrating how Python can be used to interface with Fortran and C/C++ code, something that's essential knowledge if you're going to be working with scientific libraries.)