I have class A
. I need to store an additional value on class A
so I extend it, creating class B
which includes a my_variable
attribute. I have a load of code that uses class B
, but at the end of that code, I need to return a class A
object.
How can I do this?
CodePudding user response:
For all intents and purposes, a class B
object is a class A
object:
class A:
pass
class B(A):
pass
b = B()
print(isinstance(b, A)) # True
It will even pass type annotations this way. There is no need to cast the object, because it already is an instance of the parent class.