pythonclassinstanceparent

Access parent class instance attribute from child class instance?


How to access "myvar" from "child" in this code example:

class Parent():
    def __init__(self):
        self.myvar = 1

class Child(Parent):
    def __init__(self):
        Parent.__init__(self)

        # this won't work
        Parent.myvar

child = Child()

Solution

  • Parent is a class - blue print - not an instance of it. In OOP, to access attributes of an object, it requires an instance of the same.

    Here self/child are instances while Parent/Child are classes.

    class Parent():
        def __init__(self):
            self.myvar = 1
    
    class Child(Parent):
        def __init__(self):
            Parent.__init__(self)
    
            # here you can access myvar like below.
            print self.myvar
    
    child = Child()
    print child.myvar