What problem arises in running the following program? How do you fix it?
class A:
def __init__(self, i = 0):
self.i = i
class B(A):
def __init__(self, j = 0):
self.j = j
def main():
b = B()
print(b.i)
print(b.j)
main() # Call the main function
The following problem is arise in running the above program.
Python 3.2.1 (default, Jul 10 2011, 21:51:15) [MSC v.1500 32 bit (Intel)] on win32
Type "copyright", "credits" or "license()" for more information.
>>> ================================ RESTART ================================
>>>
Traceback (most recent call last):
File "D:/test2", line 11, in <module>
main() # Call the main function
File "D:/test2", line 9, in main
print(b.i)
AttributeError: 'B' object has no attribute 'i'
>>>
Correct code:
class A:
def __init__(self, i = 0):
self.i = i
class B(A):
def __init__(self,j = 0):
super().__init__()
self.j = j
def main():
b = B()
print(b.i)
print(b.j)
main() # Call the main function
Output:
Python 3.2.1 (default, Jul 10 2011, 21:51:15) [MSC v.1500 32 bit (Intel)] on win32
Type "copyright", "credits" or "license()" for more information.
>>> ================================ RESTART ================================
>>>
0
0
>>>