I need to extend the Networkx python package and add a few methods to the Graph class for my particular need
The way I thought about doing this is simplying deriving a new class say NewGraph, and adding the required methods.
However there are several other functions in networkx which create and return Graph objects (e.g. generate a random graph). I now need to turn these Graph objects into NewGraph objects so that I can use my new methods.
What is the best way of doing this? Or should I be tackling the problem in a completely different manner?
If you are just adding behavior, and not depending on additional instance values, you can assign to the object’s
__class__:Prints:
This is as close to a “cast” as you can get in Python, and like casting in C, it is not to be done without giving the matter some thought. I’ve posted a fairly limited example, but if you can stay within the constraints (just add behavior, no new instance vars), then this might help address your problem.