21.
What is the use of duck typing?

23.
What will be the output of the following Python code?
>>> class A:
	pass
>>> class B(A):
	pass
>>> obj=B()
>>> isinstance(obj,A)

24.
What will be the output of the following Python code?
class Demo:
    def __init__(self):
        self.x = 1
    def change(self):
        self.x = 10
class Demo_derived(Demo):
    def change(self):
        self.x=self.x+1
        return self.x
def main():
    obj = Demo_derived()
    print(obj.change())
 
main()

25.
What is the purpose of using abstraction in object-oriented programming?

26.
What will be the output of the following Python code?
class A:
    def __str__(self):
        return '1'
class B(A):
    def __init__(self):
        super().__init__()
class C(B):
    def __init__(self):
        super().__init__()
def main():
    obj1 = B()
    obj2 = A()
    obj3 = C()
    print(obj1, obj2,obj3)
main()

27.
What will be the output of the following Python code?
class Demo:
    def __init__(self):
        self.a = 1
        self.__b = 1
 
    def display(self):
        return self.__b
obj = Demo()
print(obj.a)

29.
How does inheritance promote code reusability in object-oriented programming?

30.
What is the main advantage of using abstraction in object-oriented programming?