Wednesday, 24 September 2025

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

 

Code Explanation:

1. Import the weakref module
import weakref

Imports Python’s weakref library.

A weakref (weak reference) lets you reference an object without increasing its reference count.

This allows Python’s garbage collector to delete the object when no strong references exist.

2. Define a simple class
class A: pass

Creates a minimal class A.

It has no attributes or methods.

Objects of this class can still be created.

3. Create an instance
obj = A()

Creates an object obj of class A.

This is a strong reference, meaning obj keeps the object in memory.

4. Create a weak reference
r = weakref.ref(obj)

Makes a weak reference to obj.

r() can be called like a function to access the original object if it still exists.

But it doesn’t prevent the object from being garbage collected.

5. Check if weakref points to same object
print(r() is obj)

r() retrieves the referenced object.

Since obj still exists, r() is that object.

So this prints:

True

6. Delete the strong reference
del obj

Deletes the strong reference obj.

Now no strong reference to the object exists.

Since only a weak reference remains, the object can be garbage collected.

7. Check if weakref is None
print(r() is None)

After obj is deleted and garbage collected, r() no longer points to the object.

Instead, it returns None.

So this prints:

True

Final Output
True
True

500 Days Python Coding Challenges with Explanation


0 Comments:

Post a Comment

Popular Posts

Categories

100 Python Programs for Beginner (118) AI (122) Android (25) AngularJS (1) Api (6) Assembly Language (2) aws (27) Azure (8) BI (10) book (4) Books (246) Bootcamp (1) C (78) C# (12) C++ (83) Course (81) Coursera (295) courses (2) Cybersecurity (28) Data Analysis (24) Data Analytics (16) data management (15) Data Science (203) Data Strucures (13) Deep Learning (47) Django (16) Downloads (3) edx (21) Engineering (15) Euron (30) Events (7) Excel (17) Factorial (1) Finance (9) flask (3) flutter (1) FPL (17) Generative AI (42) Git (6) Google (46) Hadoop (3) HTML Quiz (1) HTML&CSS (48) IBM (41) IoT (3) IS (25) Java (98) Java quiz (1) Leet Code (4) Machine Learning (162) Meta (24) MICHIGAN (5) microsoft (9) Nvidia (8) p (1) Pandas (10) PHP (20) Projects (32) pyth (2) Python (1203) Python Coding Challenge (838) Python Quiz (320) Python Tips (5) Questions (2) R (71) React (7) Scripting (3) security (4) Selenium Webdriver (4) Software (19) SQL (44) Udemy (15) UX Research (1) web application (11) Web development (7) web scraping (3)

Followers

Python Coding for Kids ( Free Demo for Everyone)