In simple terms, you define a very common class, and the @dataclass decorator can help you generate special methods such as __repr__, __init__, etc., so you don't need to write it yourself.The @dataclass decorator still returns a class, which means that we can still inherit this class without any inconvenience.
The above said that the @dataclass decorator can help you generate __repr__, __init__ and other methods, so what methods does it provide?This question can be answered by looking at the prototype of the function, here is the source code of the function with the @dataclass decorator:
The default value of the parameter init is True, which means that the decorator will automatically generate the __init__ method. If you do not want the decorator to generate the corresponding method, you can enter the parametertime to change it to False.
The default value of the parameter repr is True, which means that the decorator will automatically generate the __repr__ method. If you do not want the decorator to generate the corresponding method, you can enter the parametertime to change it to False.
Similar to other parameters, as you can see from the above, if no parameters are added, by default, the @dataclass decorator will generate __repr__、