Ga naar hoofdinhoud

Tutorial over de Python-functie range()

Leer over de Python-functie range() en de mogelijkheden ervan aan de hand van voorbeelden.
Bijgewerkt 2 jun 2026  · 7 min lezen

De functie range() is een veelgebruikte functie in Python, vooral wanneer je werkt met for-lussen, en soms ook met while-lussen. Het is de moeite waard om de functie range() goed te leren, omdat dit veel deuren opent: range() wordt gebruikt voor alles, van het sturen van de flow van een programma tot het itereren over datasets die je gebruikt voor data-analyse. 

Ben je net begonnen met Python en wil je meer leren? Volg dan de cursus Introduction to Data Science in Python van DataCamp.

Wat is de functie range() in Python?

De functie range() retourneert een reeks getallen en is immutable, wat betekent dat de waarde vaststaat. De functie range() neemt één of maximaal drie argumenten aan, namelijk een start- en een stop-waarde, samen met een step-grootte.

range() werd geïntroduceerd in Python 3. In Python 2 werd een vergelijkbare functie, xrange(), gebruikt, die zich op sommige punten anders gedroeg. Zo retourneerde xrange() onder andere een generatorobject en gebruikte het minder geheugen, terwijl range() daarentegen een lijst of reeks getallen retourneert.

Een deel van de reden waarom de functie range() nuttig is, is dat deze alleen de waarden start, stop en step opslaat. Daardoor verbruikt ze minder geheugen in vergelijking met een lijst of tuple.

Syntax van de Python-functie range()

De functie range() kan op drie verschillende manieren worden weergegeven, of je kunt ze zien als drie range()-parameters:

  • range(stop_value): Standaard is het startpunt hier nul.
  • range(start_value, stop_value): Dit genereert de reeks op basis van de start- en stopwaarde.
  • range(start_value, stop_value, step_size): Dit genereert de reeks door de startwaarde te verhogen met de stapgrootte totdat de stopwaarde is bereikt.
Voorbeeld van de Python-functie range
Python-functie range(). Afbeelding door de auteur. 

We kunnen ook het type van de functie range() controleren door range() te omhullen met type().

my_range = range(100)
print(type(my_range))

# Expected output: <class 'range'>

Voorbeelden van de Python-functie range()

Laten we nu een paar voorbeelden bekijken, zodat je kunt oefenen en het gebruik van range() onder de knie krijgt.

Python range() gebruiken om een reeks getallen af te drukken

We beginnen met een eenvoudig voorbeeld: het afdrukken van een reeks van tien getallen. Daarmee behandel je je eerste range()-parameter. Hiervoor geef je alleen de stop-waarde door. Omdat Python met nulgebaseerde indexering werkt, begint de reeks bij nul en stopt deze bij het opgegeven getal, oftewel n-1, waarbij n het opgegeven getal is in de functie range().

my_range = range(10)

for num in my_range:
	print(num)

# Expected output:
# 0
# 1
# 2
# 3
# 4
# 5
# 6
# 7
# 8
# 9

Zoals verwacht geeft de bovenstaande cel een reeks getallen terug die begint met 0 en eindigt met 9.

Python range() gebruiken met list()

Je kunt de range-functie ook als argument aan een lijst meegeven; in dat geval resulteert dit in een lijst met getallen met een lengte die gelijk is aan de stopwaarde, zoals hieronder weergegeven:

my_range = list(range(10))
print(my_range)

range_length = len(my_range)
print(range_length)

# Expected output:
# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
# 10

Start, stop en step gebruiken in Python range()

Vervolgens bekijken we een andere manier om met de functie range() te werken. Hier specificeer je zowel de start- als de stop-waarde.

my_range = range(5, 10)
print(my_range)

# Expected output: range(5, 10)
for num in range(5,10):
    print(num)

# Expected output:
# 5
# 6
# 7
# 8
# 9

Op dezelfde manier kun je de functie range() ook gebruiken om negatieve gehele waarden af te drukken.

for num in range(-5,0):
    print(num)

# Expected output:
# -5
# -4
# -3
# -2
# -1

Voeg nu de derde parameter toe, namelijk de step-grootte aan de functie range(), en kijk hoe dit de uitvoer beïnvloedt. Je geeft het start-punt op als 50, de stop-waarde als 1000 met een step-grootte van 100. De onderstaande range-functie zou een reeks moeten opleveren die begint bij 50 en toeneemt met stappen van 100.

my_range = range(50,1000,100)
print(my_range)

# Expected output: range(50, 1000, 100)

Je zult merken dat hiermee alle even getallen worden afgedrukt.

for num in range(50,1000,100):
    print(num)

# Expected output:
# 50
# 150
# 250
# 350
# 450
# 550
# 650
# 750
# 850
# 950

Een opmerking over Python range() en float-waarden

Belangrijk om te weten: de functie range() werkt alleen wanneer de opgegeven waarde een integer of geheel getal is. Ze ondersteunt niet het float- en string-datatype. Je kunt er wel zowel positieve als negatieve gehele waarden aan doorgeven. Laten we eens kijken wat er gebeurt als je float-waarden probeert door te geven.

for num in range(0.2,2.4):
    print(num)

# Expected output:
# TypeError: 'float' object cannot be interpreted as an integer

Waarschijnlijk heb je je in C minstens één keer het hoofd gebroken over het omkeren van een gelinkte lijst met gehele waarden. In Python kan dat echter met de functie range() door simpelweg de start en stop om te draaien en een negatieve stapgrootte toe te voegen. Simpel toch? Laten we het uitproberen!

for num in range(100,10,-10):
    print(num)

# Expected output:
# 100
# 90
# 80
# 70
# 60
# 50
# 40
# 30
# 20

range() gebruiken om de som van een lijst te vinden

Stel, je hebt een lijst met gehele waarden en je wilt de som van de lijst bepalen, maar dan met behulp van de functie range(). Laten we kijken hoe dat kan.

Definieer eerst de lijst met gehele waarden. Initialiseer vervolgens een teller waarin je bij elke iteratie over de lijst de waarde opslaat en voeg daarbij de huidige lijstwaarde toe aan de oude telwaarde.

Om de elementen uit de lijst te benaderen, pas je de functie range() toe op de length van de lijst en benader je de listelementen door de index i door te geven, die begint bij nul en stopt bij de lengte van de lijst.

list1 = [2,4,6,8,10,12,14,16,18,20]
count = 0

for i in range(len(list1)):
    count = count + list1[i]
    print(count)
print('sum of the list:', count)

# Expected output:
# 2
# 6
# 12
# 20
# 30
# 42
# 56
# 72
# 90
# 110
# sum of the list: 110

range() gebruiken met itertools om een lijst te concatenaten

Je kunt ook twee of meer range()-functies aan elkaar concatenaten met de klasse chain uit het pakket itertools. En niet alleen de functie range; je kunt zelfs lijsten, tuples, enz. samenvoegen. Onthoud dat de methode chain een generatorobject retourneert. Om de elementen uit dat generatorobject te benaderen, kun je ofwel een for-lus gebruiken, of list gebruiken en het generatorobject als argument doorgeven.

from itertools import chain

a1 = range(10,0,-2)
a2 = range(30,20,-2)
a3 = range(50,40,-2)

final = chain(a1,a2,a3)

print(final) #generator object

# Expected output: <itertools.chain object at 0xae6330>
print(list(final))

# Expected output:
# [10, 8, 6, 4, 2, 30, 28, 26, 24, 22, 50, 48, 46, 44, 42]

Python range() en gelijkheidsvergelijkingen

Je kunt gelijkheidsvergelijkingen toepassen tussen range()-functies. Gegeven twee range()-functies: als ze dezelfde reeks waarden vertegenwoordigen, worden ze als gelijk beschouwd. Dat betekent dat twee gelijke range()-functies niet per se dezelfde attributen start, stop en step hoeven te hebben. Laten we dat verduidelijken met een voorbeeld.

# range(0, 10, 3) = [0, 3, 6, 9]
# range(0, 11, 3) = [0, 3, 6, 9]

print(range(0, 10, 3) == range(0, 11, 3))

# Expected output: True
# range(0, 10, 3) = [0, 3, 6, 9]
# range(0, 11, 2) = [0, 2, 4, 6, 8, 10]

print(range(0, 10, 3) == range(0, 11, 2))

# Expected output: False

Zoals je aan de bovenstaande uitvoer kunt zien, worden ze, ondanks dat de parameters van de functie range() verschillend zijn, toch als gelijk beschouwd omdat de reeksen van beide functies hetzelfde zijn. In het tweede voorbeeld zorgt het wijzigen van de step-grootte ervoor dat de vergelijking False wordt.

Conclusie

Gefeliciteerd met het afronden van de tutorial. Misschien wil je nog wat spelen met de functie range() en een manier vinden om haar aan te passen zodat ze ook andere datatypes dan alleen integers accepteert.

Als je na het lezen denkt dat je baat hebt bij extra oefening met Python-functies, bekijk dan onze tutorials Python Functions en Beginner's Guide to Python for Loops. Voor een gestructureerd leerpad kun je onze DataCamp-cursus Writing Efficient Python Code bekijken, die niet alleen de functie range() in detail behandelt, maar ook helpt met algemenere codeerconcepten, zodat je zonder veel overhead echt efficiënte code kunt schrijven. 

Onderwerpen

Leer meer over Python

Cursus

Python-gereedschapskist

4 Hr
317.7K
Blijf je moderne Data Science-vaardigheden ontwikkelen door te leren over iterators en lijstcomprehensies.
Bekijk detailsRight Arrow
Begin met de cursus
Meer zienRight Arrow
Gerelateerd

blog

AI vanaf nul leren in 2026: een complete gids van de experts

Ontdek alles wat je moet weten om in 2026 AI te leren, van tips om te beginnen tot handige resources en inzichten van industrie-experts.
Adel Nehme's photo

Adel Nehme

15 min

Meer zienMeer zien