I've used Boost.Python to expose my class into Python. I want to change this class or override some parts of it in Python as well as what we can do on classes in Python by default.
It sounds like you want to subclass, which would be the other answer provided; however if you are looking to change an objects class on-the-fly, you could use object.__class__ = NewClass -- though this may be considered EVIL in some (probably most) circles.
Expose a class to Python and change it in Python as well