笔记中有位同学如下这样写道,但我认为不准确:
最新的 Python3.7 中(2018.07.13),对类的构造函数进行了精简。
3.7 版本:
from dataclasses import dataclass
@dataclass
class A:
x:int
y:int
def add(self):
returnself.x +self.y
相当于以前的:
class B:
def __init__(self,x,y):
self.x = x
self.y = y
def add(self):
returnself.x +self.y
实际上,对于类 A, 实例化时不需要参数;而对于类 B,实例化时需要输入 (x, y) 参数,这才是两者的核心区别。定义类时,若需要输入参数,则一般必须使用 __init__()方法;若不需要输入参数,是否使用 __init__() 方法都可以。
和版本是否对类的构造函数进行了精简,关系不大。