Code Explanation:
1) import weakref
Imports the weakref module.
A weak reference lets you refer to an object without increasing its reference count.
If no strong references exist, the object can be garbage collected.
2) class A: pass
Defines a simple empty class A.
3) r = weakref.ref(A())
A() creates a new instance of A.
Normally, you would assign it to a variable (like a = A()), but here no strong reference is kept.
weakref.ref(A()) creates a weak reference to that object.
Since there are no strong references, the object becomes unreachable immediately.
Python’s garbage collector can delete it right away.
So r is a weak reference, but it now points to nothing (because the object is gone).
4) print(r() is None)
Calling r() tries to retrieve the original object.
But the object has already been garbage collected.
So r() returns None.
Therefore, r() is None → True.
Final Output
True
Download Book - 500 Days Python Coding Challenges with Explanation
.png)

0 Comments:
Post a Comment