code: def X(self) -> Optional[Union[np.ndarray, sparse.spmatrix, ArrayView]]:
          
          if self.isbacked:
              if not self.file.isopen: self.file.open()
              X = self.file['X']
              if self.isview:
                  X = X[self._oidx, self._vidx]
              return X
          else:
              if self.n_obs == 1 and self.n_vars == 1:
                  return self._X[0, 0]
              elif self.n_obs == 1 or self.n_vars == 1:
                  X = self._X
                  if issparse(self._X): X = self._X.toarray()
                  return X.flatten()
              else:
                  return self._X
docs: Data matrix of shape :attr:`n_obs` × :attr:`n_vars`.