What is the purpose of __init_subclass__ compared to a metaclass, and what are its limitations? Python ProfessionalHard Try Now
What is the output of the following code? from typing import Protocol class Drawable(Protocol): def draw(self) -> None: … class Circle: def draw(self) -> None: print(‘circle’) def render(shape: Drawable) -> None: shape.draw() render(Circle()) Python ProfessionalHard Try Now
What is the purpose of __class_getitem__ in Python and how does it enable generic type hints? Python ProfessionalHard Try Now
What does the following code demonstrate about Python’s GC and reference cycles? import gc class Node: def __init__(self): self.ref = None a = Node() b = Node() a.ref = b b.ref = a del a, b print(gc.collect()) Python ProfessionalHard Try Now
What does the following code output? import sys class MyList(list): def __sizeof__(self): return super().__sizeof__() + 100 ml = MyList([1, 2, 3]) print(sys.getsizeof(ml) – sys.getsizeof([1, 2, 3])) Python ProfessionalHard Try Now
Which of the following correctly explains how Python’s asyncio event loop executes coroutines? Python ProfessionalHard Try Now
What is the difference between asyncio.gather() and asyncio.TaskGroup (Python 3.11+)? Python ProfessionalHard Try Now
What is the output of the following code involving __missing__? class DefaultList(dict): def __missing__(self, key): self[key] = [] return self[key] d = DefaultList() d[‘a’].append(1) d[‘a’].append(2) d[‘b’].append(3) print(d) Python ProfessionalHard Try Now
What does the following descriptor code output? class Validator: def __set_name__(self, owner, name): self.name = name def __get__(self, obj, objtype=None): if obj is None: return self return obj.__dict__.get(self.name) def __set__(self, obj, value): if not isinstance(value, int): raise TypeError(f'{self.name} must be int’) obj.__dict__[self.name] = value class Point: x = Validator() p = Point() p.x = 5 print(p.x) Python ProfessionalHard Try Now
What is the output of the following code? class Meta(type): def __new__(mcs, name, bases, namespace): namespace[‘class_id’] = name.upper() return super().__new__(mcs, name, bases, namespace) class Foo(metaclass=Meta): pass print(Foo.class_id) Python ProfessionalHard Try Now