nodes: 0, module; 1, function_definition; 2, function_name:range; 3, parameters; 4, block; 5, identifier:self; 6, identifier:low; 7, identifier:high; 8, default_parameter; 9, default_parameter; 10, default_parameter; 11, expression_statement; 12, if_statement; 13, identifier:with_scores; 14, False; 15, identifier:desc; 16, False; 17, identifier:reverse; 18, False; 19, comment:"""
          Return a range of items between ``low`` and ``high``. By
          default scores will not be included, but this can be controlled
          via the ``with_scores`` parameter.
  
          :param low: Lower bound.
          :param high: Upper bound.
          :param bool with_scores: Whether the range should include the
              scores along with the items.
          :param bool desc: Whether to sort the results descendingly.
          :param bool reverse: Whether to select the range in reverse.
          """; 20, identifier:reverse; 21, block; 22, else_clause; 23, return_statement; 24, block; 25, call; 26, return_statement; 27, attribute; 28, argument_list; 29, call; 30, attribute; 31, identifier:zrevrange; 32, attribute; 33, identifier:low; 34, identifier:high; 35, identifier:with_scores; 36, attribute; 37, argument_list; 38, identifier:self; 39, identifier:database; 40, identifier:self; 41, identifier:key; 42, attribute; 43, identifier:zrange; 44, attribute; 45, identifier:low; 46, identifier:high; 47, identifier:desc; 48, identifier:with_scores; 49, identifier:self; 50, identifier:database; 51, identifier:self; 52, identifier:key
code: def range(self, low, high, with_scores=False, desc=False, reverse=False):
          """
          Return a range of items between ``low`` and ``high``. By
          default scores will not be included, but this can be controlled
          via the ``with_scores`` parameter.
  
          :param low: Lower bound.
          :param high: Upper bound.
          :param bool with_scores: Whether the range should include the
              scores along with the items.
          :param bool desc: Whether to sort the results descendingly.
          :param bool reverse: Whether to select the range in reverse.
          """
          if reverse:
              return self.database.zrevrange(self.key, low, high, with_scores)
          else:
              return self.database.zrange(self.key, low, high, desc, with_scores)