def __repr__(self):
        #pylint: disable=invalid-name
        r = []
        d = []
        t = type(self)
        for i, v in enumerate(self.data):
            if i >= len(t.fields):
                d.append(v)
                continue
            name = t.fields[i][1]
            r.append('%s=%r' % (name, getattr(self, name)))

        return '<%s(%s)%s>' % (
            type(self).__name__,
            ', '.join(r),
            d and ' data=%r' % d or ''
        )
dataset/ETHPy150Open Knio/pynmea2/pynmea2/nmea.py/NMEASentence.__repr__/original