def __init__(self, *args, **kwargs):
        self.data = ''
        if args:
            try:
                self.unpack(args[0])
            except struct.error:
                if len(args[0]) < self.__hdr_len__:
                    raise NeedData
                raise UnpackError('invalid %s: %r' %
                                  (self.__class__.__name__, args[0]))
        else:
            for k in self.__hdr_fields__:
                setattr(self, k, copy.copy(self.__hdr_defaults__[k]))
            for k, v in kwargs.iteritems():
                setattr(self, k, v)
Returns the number of columns for this table.
dataset/ETHPy150Open kbandla/dpkt/dpkt/dpkt.py/Packet.__init__--crossover with--dataset/ETHPy150Open enthought/traitsui/traitsui/wx/table_model.py/TableModel.get_column_count