Code Explanation:
1) from dataclasses import dataclass
Imports the dataclass decorator from Python’s dataclasses module (introduced in Python 3.7).
@dataclass automatically generates methods like:
__init__ (constructor)
__repr__ (string representation)
__eq__ (equality checking)
and more (depending on arguments).
2) @dataclass
This decorator is applied to the class Point.
It tells Python: “Automatically create common methods for me, based on class attributes.”
3) class Point:
Defines a class called Point.
4) x: int
Declares a field x of type int.
No default value is given → it’s required when creating an instance.
5) y: int = 0
Declares another field y of type int.
Has a default value 0 → optional when creating an instance.
6) p1 = Point(5)
Creates an instance of Point.
Since only one argument is given (5), it fills x = 5.
y is not provided, so it takes the default y = 0.
Equivalent to:
p1 = Point(x=5, y=0)
7) print(p1)
Prints the instance p1.
Because of @dataclass, Python automatically generated a __repr__ method.
This representation includes the class name and field values in the form:
Point(x=5, y=0)
Final Output
Point(x=5, y=0)
Download Book - 500 Days Python Coding Challenges with Explanation
.png)

0 Comments:
Post a Comment