Question
Option 4 : C
Detailed Solution
सही उत्तर C है।
Question:
The Python code below defines a diamond-shaped class hierarchy and calls D().m(). Which string is printed? class A: def m(self): return 'A' ; class B(A): pass ; class C(A): def m(self): return 'C' ; class D(B, C): pass ; print(D().m()) / नीचे दिया गया Python कोड हीरे-आकृति का क्लास पदानुक्रम परिभाषित करता है और D().m() कॉल करता है। कौन-सी स्ट्रिंग प्रिंट होगी? class A: def m(self): return 'A' ; class B(A): pass ; class C(A): def m(self): return 'C' ; class D(B, C): pass ; print(D().m())
Correct Answer: C
Python's C3 linearization gives D's MRO as D -> B -> C -> A -> object. Method lookup finds m() in C before reaching A, so 'C' is printed. / Python का C3 लीनियराइज़ेशन D का MRO D -> B -> C -> A -> object देता है। मेथड खोज A तक पहुँचने से पहले C में m() पाती है, अतः 'C' प्रिंट होता है।