What is the expected behavior of the following code?
What is the expected behavior of the following code?
The code will raise a TypeError. The method 'make' in class 'Super' does not return a value, which means it implicitly returns 'None'. Therefore, 'b.doit()' will return 'None'. When trying to add 'a.doit()' which returns '1' to 'None', Python will raise a TypeError as it cannot perform addition between an integer and NoneType.
B is the correct answer Traceback (most recent call last): File "main.py", line 17, in <module> print(a.doit() + b.doit()) TypeError: unsupported operand type(s) for +: 'int' and 'NoneType'
Outputs error. Int + NoneType
#question 120 class Super: def make(self): pass def doit(self): return self.make() class Sub_A(Super): def make(self): return 1 class Sub_B(Super): pass a=Sub_A() b=Sub_B() print(a.doit()) print(b.doit()) print(a.doit() + b.doit())#TypeError: unsupported operand type(s) for +: 'int' and 'NoneType' Tested: B. it raises an exception
Option B is the correct answer