Sunday, 4 January 2026

Python Coding challenge - Day 943| What is the output of the following Python Code?

 

Code Explanation:

1. Creating a Global Registry
registry = {}

A dictionary named registry is created.

It will be used to store references to classes by name.

Purpose:

To keep track of all classes created using the metaclass.

2. Defining a Custom Metaclass
class Meta(type):

Meta is a metaclass because it inherits from type.

It controls how classes are created.

3. Overriding the Metaclass __new__ Method
    def __new__(cls, name, bases, dct):
        c = super().__new__(cls, name, bases, dct)
        registry[name] = c
        return c

This runs every time a new class is defined using this metaclass.

Parameters:

cls → the metaclass (Meta)

name → class name being created ("A", "B")

bases → parent classes

dct → class attribute dictionary

What it does:

Calls type.__new__ to create the actual class object.

Stores the class object in the registry dictionary using its name as key.

Returns the created class.

So every class created with this metaclass is automatically registered.

4. Creating Class A
class A(metaclass=Meta): pass

Python uses Meta to create class A.

Meta.__new__ is called with:

name = "A"

A is created and stored in:

registry["A"] = A

5. Creating Subclass B
class B(A): pass

B inherits from A.

Since A uses metaclass Meta, B automatically uses Meta too.

Meta.__new__ runs again:

registry["B"] = B

6. Printing the Registry Keys
print(sorted(registry.keys()))

registry.keys() returns: ["A", "B"]

sorted() sorts them alphabetically.

print() prints the sorted list.

7. Final Output
['A', 'B']

Final Answer
✔ Output:
['A', 'B']

0 Comments:

Post a Comment

Popular Posts

Categories

100 Python Programs for Beginner (118) AI (173) Android (25) AngularJS (1) Api (7) Assembly Language (2) aws (27) Azure (8) BI (10) Books (261) Bootcamp (1) C (78) C# (12) C++ (83) Course (84) Coursera (299) Cybersecurity (28) Data Analysis (24) Data Analytics (16) data management (15) Data Science (236) Data Strucures (14) Deep Learning (93) Django (16) Downloads (3) edx (21) Engineering (15) Euron (30) Events (7) Excel (18) Finance (9) flask (3) flutter (1) FPL (17) Generative AI (51) Git (8) Google (47) Hadoop (3) HTML Quiz (1) HTML&CSS (48) IBM (41) IoT (3) IS (25) Java (99) Leet Code (4) Machine Learning (212) Meta (24) MICHIGAN (5) microsoft (9) Nvidia (8) Pandas (12) PHP (20) Projects (32) Python (1235) Python Coding Challenge (944) Python Mistakes (22) Python Quiz (387) Python Tips (5) Questions (3) R (72) React (7) Scripting (3) security (4) Selenium Webdriver (4) Software (19) SQL (45) Udemy (17) UX Research (1) web application (11) Web development (7) web scraping (3)

Followers

Python Coding for Kids ( Free Demo for Everyone)