Code Explanation:
1. Defining the Descriptor Class
class Log:
A class named Log is defined.
It will be used as a descriptor because it implements __get__.
2. Implementing the __get__ Method
def __get__(self, obj, owner):
print("get")
return 10
__get__ is automatically called when the attribute is accessed.
Parameters:
self → the descriptor object (Log instance)
obj → the instance accessing the attribute (A()), or None if accessed via class
owner → the owner class (A)
What it does:
Prints "get" every time the attribute is accessed.
Returns 10.
3. Defining the Owner Class
class A:
x = Log()
The class A has an attribute x that is a Log descriptor.
So x is a managed attribute controlled by Log.__get__.
4. Accessing the Attribute
print(A().x)
Step-by-step:
A() creates a new instance of class A.
.x triggers the descriptor:
Log.__get__(descriptor, instance, A)
__get__ prints "get" and returns 10.
print prints the returned value.
5. Final Output
get
10
100 Python Programs for Beginner with explanation


0 Comments:
Post a Comment