Monday, 5 January 2026

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

 



Code Explanation:

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


Meta is a metaclass because it inherits from type.

A metaclass controls how classes are created.

2. Overriding the Metaclass __new__ Method
    def __new__(cls, name, bases, dct):
        dct["x"] = dct.get("x", 0) + 1
        return super().__new__(cls, name, bases, dct)

This method runs every time a class using this metaclass is created.

Parameters:

cls → the metaclass (Meta)

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

bases → parent classes

dct → dictionary of class attributes

What it does:

Looks for key "x" in the class dictionary.

If "x" exists, it takes its value; otherwise uses 0.

Adds 1 to it and stores it back as "x".

So the metaclass increments x by 1 during class creation.

3. Creating Class A
class A(metaclass=Meta):
    x = 5

What happens internally:

Class body executes: dct = {"x": 5}

Meta.__new__(Meta, "A", (), {"x": 5}) is called.

Inside __new__:

dct["x"] = 5 + 1 = 6

Class A is created with:

A.x = 6

4. Creating Class B
class B(A):
    pass

B inherits from A, so it also uses metaclass Meta.

Class body is empty: dct = {}

Meta.__new__(Meta, "B", (A,), {}) is called.

Inside __new__:

dct["x"] = 0 + 1 = 1

So B gets its own class attribute:

B.x = 1

5. Printing the Values
print(A.x, B.x)

A.x is 6

B.x is 1

6. Final Output
6 1

900 Days Python Coding Challenges with Explanation

0 Comments:

Post a Comment

Popular Posts

Categories

100 Python Programs for Beginner (118) AI (175) 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 (15) Deep Learning (94) 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 (213) Meta (24) MICHIGAN (5) microsoft (9) Nvidia (8) Pandas (12) PHP (20) Projects (32) Python (1236) Python Coding Challenge (948) Python Mistakes (22) Python Quiz (388) 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)