Code Explanation:
1. Class Definition
class A:
This defines a new class named A.
Classes are blueprints for creating objects in Python.
2. Class Variable
val = 1
This is a class variable, meaning it is shared across all instances of the class.
A.val is now 1.
3. Constructor Method
def __init__(self):
__init__ is the constructor in Python, called automatically when an object is created.
self refers to the specific instance being created.
4. Modifying self.val
self.val += 1
At this point, self.val does not exist yet on the instance.
So Python looks up the class variable val (which is 1) and uses that.
Then it creates an instance variable self.val, and sets it to 1 + 1 = 2.
This line shadows the class variable by creating an instance variable of the same name.
5. Creating an Instance
a = A()
This creates an object a of class A.
It automatically calls __init__, which creates a.val and sets it to 2.
6. Printing the Instance Variable
print(a.val)
This prints the instance variable a.val, which was set to 2 in the constructor.
Output: 2
Final Output:
2
.png)

0 Comments:
Post a Comment