Code Explanation:
1. Class Definition
class Circle:
This defines a new class named Circle.
A class is a blueprint for creating objects.
Circle objects will represent circles with a radius.
2. Constructor Method
def __init__(self, r):
self._radius = r
__init__ is the constructor method in Python. It runs automatically when a new object is created.
r is a parameter passed during object creation.
self._radius = r stores the radius value in a protected attribute _radius.
By convention, attributes with a single underscore _ are protected, meaning they should not be accessed directly from outside, but are still technically accessible.
3. Property Decorator
@property
def radius(self):
return self._radius
@property makes the radius() method behave like a read-only attribute.
When you access c.radius, Python calls this method automatically.
return self._radius returns the value of the protected attribute _radius.
Benefit: You can later add validation or calculations without changing how you access the attribute.
4. Creating an Object
c = Circle(5)
This creates an object c of the class Circle.
The constructor __init__ is called with r=5.
The object now has _radius = 5.
5. Accessing the Property
print(c.radius)
Accessing c.radius calls the radius property method.
The method returns the value of _radius, which is 5.
Python prints 5.
Final Output
5
.png)

0 Comments:
Post a Comment