code: def range(self, start, end=None, step=1, numPartitions=None):
          
          return self.sparkSession.range(start, end, step, numPartitions)
docs: Create a :class:`DataFrame` with single :class:`pyspark.sql.types.LongType` column named
          ``id``, containing elements in a range from ``start`` to ``end`` (exclusive) with
          step value ``step``.
  
          :param start: the start value
          :param end: the end value (exclusive)
          :param step: the incremental step (default: 1)
          :param numPartitions: the number of partitions of the DataFrame
          :return: :class:`DataFrame`
  
          >>> sqlContext.range(1, 7, 2).collect()
          [Row(id=1), Row(id=3), Row(id=5)]
  
          If only one argument is specified, it will be used as the end value.
  
          >>> sqlContext.range(3).collect()
          [Row(id=0), Row(id=1), Row(id=2)]