def __len__(self):
    return len(self.arr)

def __getitem__(self, key):
    return self.arr[key]

def main():
    foos = [Foo() for i in range(10)]
print(np.array(foos))
if __name__ == '__main__':
    main()
numpy — преобразовать список объектов в массив без подкласса ndarray