# your code goes here
#!/usr/bin/python
class Parent: # define parent class
parentAttr = 100
def __init__(self):
print "Calling parent constructor"
def parentMethod(self):
print 'Calling parent method'
def setAttr(self, attr):
Parent.parentAttr = attr
def getAttr(self):
print "Parent attribute :", Parent.parentAttr
class Child(Parent): # define child class
def __init__(self):
print "Calling child constructor"
def childMethod(self):
print 'Calling child method'
c = Child() # instance of child
c.childMethod() # child calls its method
c.parentMethod() # calls parent's method
c.setAttr(200) # again call parent's method
c.getAttr() # again call parent's method
IyB5b3VyIGNvZGUgZ29lcyBoZXJlCiMhL3Vzci9iaW4vcHl0aG9uCgpjbGFzcyBQYXJlbnQ6ICAgICAgICAjIGRlZmluZSBwYXJlbnQgY2xhc3MKICAgcGFyZW50QXR0ciA9IDEwMAogICBkZWYgX19pbml0X18oc2VsZik6CiAgICAgIHByaW50ICJDYWxsaW5nIHBhcmVudCBjb25zdHJ1Y3RvciIKCiAgIGRlZiBwYXJlbnRNZXRob2Qoc2VsZik6CiAgICAgIHByaW50ICdDYWxsaW5nIHBhcmVudCBtZXRob2QnCgogICBkZWYgc2V0QXR0cihzZWxmLCBhdHRyKToKICAgICAgUGFyZW50LnBhcmVudEF0dHIgPSBhdHRyCgogICBkZWYgZ2V0QXR0cihzZWxmKToKICAgICAgcHJpbnQgIlBhcmVudCBhdHRyaWJ1dGUgOiIsIFBhcmVudC5wYXJlbnRBdHRyCgpjbGFzcyBDaGlsZChQYXJlbnQpOiAjIGRlZmluZSBjaGlsZCBjbGFzcwogICBkZWYgX19pbml0X18oc2VsZik6CiAgICAgIHByaW50ICJDYWxsaW5nIGNoaWxkIGNvbnN0cnVjdG9yIgoKICAgZGVmIGNoaWxkTWV0aG9kKHNlbGYpOgogICAgICBwcmludCAnQ2FsbGluZyBjaGlsZCBtZXRob2QnCgpjID0gQ2hpbGQoKSAgICAgICAgICAjIGluc3RhbmNlIG9mIGNoaWxkCmMuY2hpbGRNZXRob2QoKSAgICAgICMgY2hpbGQgY2FsbHMgaXRzIG1ldGhvZApjLnBhcmVudE1ldGhvZCgpICAgICAjIGNhbGxzIHBhcmVudCdzIG1ldGhvZApjLnNldEF0dHIoMjAwKSAgICAgICAjIGFnYWluIGNhbGwgcGFyZW50J3MgbWV0aG9kCmMuZ2V0QXR0cigpICAgICAgICAgICMgYWdhaW4gY2FsbCBwYXJlbnQncyBtZXRob2Q=