range() is a built-in function of Python. It is used when a user needs to perform an action for a specific number of times.
range() in Python(3.x) is just a renamed version of a function called
xrange in Python(2.x). The range() function is used to generate a sequence of numbers.
range() is commonly used in for looping hence, knowledge of same is key aspect when dealing with any kind of Python code. Most common use of
range() function in Python is to iterate sequence type (List, string etc.. ) with for and while loop.
range() Basics :
In simple terms,
range() allows user to generate a series of numbers within a given range. Depending on how many arguments user is passing to the function, user can decide where that series of numbers will begin and end as well as how big the difference will be between one number and the next.
range() takes mainly three arguments.
range() constructor has two forms of definition:
range(stop) range(start, stop[, step])
range() takes mainly three arguments having the same use in both definitions:
- start – integer starting from which the sequence of integers is to be returned
- stop – integer before which the sequence of integers is to be returned.
The range of integers end at stop – 1.
- step (Optional) – integer value which determines the increment between each integer in the sequence
Return value from range()
range() returns an immutable sequence object of numbers depending upon the definitions used:
- Returns a sequence of numbers starting from 0 to stop – 1
- Returns an empty sequence if stop is negative or 0.
range(start, stop[, step])
The return value is calculated by the following formula with the given constraints:
r[n] = start + step*n (for both positive and negative step) where, n >=0 and r[n] < stop (for positive step) where, n >= 0 and r[n] > stop (for negative step)
- (If no step) Step defaults to 1. Returns a sequence of numbers starting from start and ending at stop – 1.
- (if step is zero) Raises a ValueError exception
- (if step is non-zero) Checks if the value constraint is met and returns a sequence according to the formula
If it doesn’t meet the value constraint, Empty sequence is returned.
Example: How range works in Python?
# empty range print(list(range(0))) # using range(stop) print(list(range(10))) # using range(start, stop) print(list(range(1, 10)))
 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] [1, 2, 3, 4, 5, 6, 7, 8, 9]