All quizzesHard
Advanced Patterns
Preview — 3 of 10 questions
What is the output of the following code?
javascript
class A:
def greet(self):
return "A"
class B(A):
def greet(self):
return "B->" + super().greet()
class C(A):
def greet(self):
return "C->" + super().greet()
class D(B, C):
def greet(self):
return "D->" + super().greet()
print(D().greet())AD->C->B->A
BD->B->C->A
CD->B->A->C->A
DD->B->A
What is the output of the following code?
javascript
class Meta(type):
def __new__(mcs, name, bases, namespace):
namespace['created_by'] = 'Meta'
return super().__new__(mcs, name, bases, namespace)
class MyClass(metaclass=Meta):
pass
print(MyClass.created_by)
print(type(MyClass))
print(type(Meta))AMeta, <class '__main__.Meta'>, <class 'type'>
BMeta, <class 'type'>, <class 'type'>
CMeta, <class '__main__.Meta'>, <class '__main__.Meta'>
DAttributeError
What is the output of the following code?
javascript
class Celsius:
def __init__(self, value=0):
self._value = value
def __get__(self, instance, owner):
return self._value
def __set__(self, instance, value):
if value < -273.15:
raise ValueError("Below absolute zero")
self._value = value
class Weather:
temperature = Celsius()
w1 = Weather()
w2 = Weather()
w1.temperature = 25
w2.temperature = 30
print(w1.temperature)A0
B25
CAttributeError
D30
Sign up free to play
Answer all 10 questions (7 more), see explanations for every answer, and track your score.