Thursday, 15 January 2026

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

 


Code Explanation:

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

AutoID is a metaclass because it inherits from type.

A metaclass controls how classes are created.

2. Defining a Class-Level Counter
    counter = 0

counter is a class variable of the metaclass.

It is shared across all classes created using AutoID.

3. Overriding the Metaclass __new__ Method
    def __new__(cls, name, bases, dct):
        dct["id"] = cls.counter
        cls.counter += 1
        return super().__new__(cls, name, bases, dct)


__new__ is called whenever a class using this metaclass is created.

Parameters:

cls → the metaclass (AutoID)

name → name of the class being created

bases → base classes

dct → class attributes

What it does:

Inserts an attribute id into the class dictionary with the current counter value.

Increments the counter for the next class.

Creates the class normally.

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


Triggers AutoID.__new__(..., "A", ...)

counter is 0, so:

A.id = 0


Then counter becomes 1.

5. Creating Class B
class B(metaclass=AutoID): pass

Triggers AutoID.__new__(..., "B", ...)

counter is now 1, so:

B.id = 1


Then counter becomes 2.

6. Printing the IDs
print(A.id, B.id)


Prints the class attributes id of A and B.

7. Final Output
0 1

0 Comments:

Post a Comment

Popular Posts

Categories

100 Python Programs for Beginner (118) AI (180) 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 (29) Data Analysis (25) Data Analytics (16) data management (15) Data Science (242) Data Strucures (15) Deep Learning (98) 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 (9) Google (47) Hadoop (3) HTML Quiz (1) HTML&CSS (48) IBM (41) IoT (3) IS (25) Java (99) Leet Code (4) Machine Learning (219) Meta (24) MICHIGAN (5) microsoft (9) Nvidia (8) Pandas (12) PHP (20) Projects (32) Python (1238) Python Coding Challenge (968) Python Mistakes (28) Python Quiz (394) 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 (8) web scraping (3)

Followers

Python Coding for Kids ( Free Demo for Everyone)