code: def byaxis_in(self):
          
          space = self
  
          class FspaceByaxisIn(object):
  
              """Helper class for indexing by input axes."""
  
              def __getitem__(self, indices):
                  """Return ``self[indices]``.
  
                  Parameters
                  ----------
                  indices : index expression
                      Object used to index the space domain.
  
                  Returns
                  -------
                  space : `FunctionSpace`
                      The resulting space with same output data type, but
                      indexed domain.
                  """
                  domain = space.domain[indices]
                  return FunctionSpace(domain, out_dtype=space.out_dtype)
  
              def __repr__(self):
                  """Return ``repr(self)``."""
                  return repr(space) + '.byaxis_in'
  
          return FspaceByaxisIn()
docs: Object to index ``self`` along input dimensions.
  
          Examples
          --------
          Indexing with integers or slices:
  
          >>> domain = odl.IntervalProd([0, 0, 0], [1, 2, 3])
          >>> fspace = odl.FunctionSpace(domain)
          >>> fspace.byaxis_in[0]
          FunctionSpace(IntervalProd(0.0, 1.0))
          >>> fspace.byaxis_in[1]
          FunctionSpace(IntervalProd(0.0, 2.0))
          >>> fspace.byaxis_in[1:]
          FunctionSpace(IntervalProd([ 0.,  0.], [ 2.,  3.]))
  
          Lists can be used to stack spaces arbitrarily:
  
          >>> fspace.byaxis_in[[2, 1, 2]]
          FunctionSpace(IntervalProd([ 0.,  0.,  0.], [ 3.,  2.,  3.]))