Question

1.
2.
3.
4.
Answer (Detailed Solution Below)

Option 4 : C

Advertisement

Detailed Solution

सही उत्तर C है।

Key Points
Helpful?
PrepSnapprepsnap.in • Part -A

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())

1.
A
2.
B
3.
TypeError due to inconsistent MRO / असंगत MRO के कारण टाइपत्रुटि
4.
C

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' प्रिंट होता है।

Downloaded from PrepSnap (prepsnap.in)