One of Python’s built-in immutable sequence types is `range()`

. This function is extensively used in loops to control the number of types loop have to run. In simple words range is used to generate a sequence between the given values.

The `range()`

function can take 1 to 3 of the following arguments:

**Start:**The integer value for the origin of the sequence, if not passed implicitly it's 0**Stop:**The integer value up to which the sequence will get generated but won't include this number. This is a required argument which must be passed,**Step:**Establishes the difference between each iteration it can be positive or negative if not given the default step is 1

The order of arguments is as follows, `range(start, stop, step)`

. Note that all parameters must be integers however they can be positive or negative.

## Using range() Function In Python

Let's start with generating a simple series and printing it out

```
for i in range(0, 6, 1):
print(i)
```

Above for loop will print every number from 0 to 5 maintaining a constant difference 1.

**Output:**

```
0
1
2
3
4
5
```

It's worth mentioning that similar to list indexing in range starts from 0 which means `range( j )`

will print sequence till `( j-1)`

hence the output doesn't include 6.

As mentioned earlier the default value of start is 0 and for step it's 1, therefore the below code produces the same output.

```
for i in range(6):
print(i)
```

**Output:**

```
0
1
2
3
4
5
```

Generating a decreasing sequence is also possible by specifying a negative value to step argument.

```
for i in range(30,0,-5):
print(i)
```

**Output**:

```
30
25
20
15
10
5
```

Range function can also be used to iterate over the elements of a list.

```
li = ["1", "text", "2", "more Text",3,4,5]
for i in range(len(li)):
print(li[i])
```

Output:

```
1
text2
more Text
3
4
5
```

It's worth noting that in Python 2 the output of the range function was a list, but in python 3 the `range()`

function doesn't produce a list so we can't perform list operation on it, but converting the output to a list is possible using the built-in `list()`

method.

```
>>> x = list(range(6))
>>> x[0, 1, 2, 3, 4, 5]
```