[Python-Dev] Second post: PEP 557, Data Classes (original) (raw)

Greg Ewing greg.ewing at canterbury.ac.nz
Mon Nov 27 00:04:45 EST 2017


Nick Coghlan wrote:

Perhaps the check could be:

(type(lhs) == type(rhs) or fields(lhs) == fields(rhs)) and all (individual fields match)

I think the types should always have to match, or at least one should be a subclass of the other. Consider:

@dataclass class Point3d: x: float y: float z: float

@dataclass class Vector3d: x: float y: float z: float

Points and vectors are different things, and they should never compare equal, even if they have the same field names and values.

-- Greg



More information about the Python-Dev mailing list