Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class A(object):
- pass
- class B(A):
- def __add__(self, other):
- return self.value + other
- a = A()
- a.value = 5
- a.__class__ = B
- print a + 10
- a = A() # parent class
- b = B() # subclass
- b.value = 3 # random setting of values
- a.__dict__ = b.__dict__ # give object a b's values
- # now proceed to use object a
- import copy
- a.__dict__ = copy.deepcopy(b.__dict__)
- class A:
- def __init__(self, a, b):
- self.a = a
- self.b = b
- class B(A):
- def __init__(self, parent_instance, c):
- # initiate the parent class with all the arguments coming from
- # parent class __dict__
- super().__init__(*tuple(parent_instance.__dict__.values()))
- self.c = c
- seld.d = d
- a_instance = A(1, 2)
- b_instance = B(a_instance, 7)
- print(b_instance.a + b_instance.b + b_instance.c)
- >> 10
- def class_converter(convert_to, parent_instance):
- return convert_to(*tuple(parent_instance.__dict__.values()))
- class B(A):
- def __init__(self, *args):
- super().__init__(*args)
- self.c = 5
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement