Ga naar hoofdinhoud

Python-functie print()

Leer hoe je de mogelijkheden van de eenvoudige Python-functie print op verschillende manieren benut met behulp van voorbeelden.
Bijgewerkt 2 okt 2026  · 10 min lezen

Verken met AI

ChatGPTClaudePerplexity

Als je net begint met Python en meer wilt leren, volg dan DataCamp's Introduction to Data Science in Python-cursus.

banner

Veel van jullie zullen tijdens het lezen van deze tutorial denken dat er niets nieuws te ontdekken valt aan de eenvoudige Python-functie print, aangezien je waarschijnlijk bent begonnen met Python door het evergreen voorbeeld Hello, World! te printen. Het is ook waar dat in Python, of in welke programmeertaal dan ook, de print-functie de meest basale en eerste stap is wanneer je een taal leert. Toch focus je je tijdens het leren soms op meer geavanceerde onderwerpen en vergeet je vaak de finesses of mogelijkheden van een eenvoudige functie die je bijna altijd gebruikt.

De focus van deze tutorial ligt volledig op Python's print-functie; je leert over de meest onderschatte functie.

Laten we deze tutorial beginnen door het voorbeeld Hello, World! te printen.

print("Hello, World!")
Hello, World!

In tegenstelling tot Python2, waar je geen haakjes hoefde te gebruiken, zijn haakjes in Python3 verplicht, anders krijg je een syntaxfout zoals hieronder.

print "Hello, World!"
  File "<ipython-input-6-a1fcabcd869c>", line 1
    print "Hello, World!"
                        ^
SyntaxError: Missing parentheses in call to 'print'. Did you mean print("Hello, World!")?

Uit de bovenstaande output kun je concluderen dat print() in Python3 geen statement is maar een functie.

Dat gezegd hebbende, laten we het type/klasse van de functie print() controleren.

type(print)
builtin_function_or_method

Het retourneert builtin_function_or_method, wat betekent dat het een vooraf gedefinieerde of ingebouwde Python-functie is.

Stel nu dat je een nieuwe regel of verticale ruimte wilt toevoegen tussen de onderstaande twee outputs; daarvoor kun je simpelweg de functie print() aanroepen zonder er een argument aan door te geven.

print("Hello, World!");print("Hello, World!")
Hello, World!
Hello, World!
print("Hello, World!")
print()
print("Hello, World!")
Hello, World!

Hello, World!

Laten we naar de syntaxis van de functie print() kijken. print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False) Zoals je nu weet, print de functie de waarden naar een stream, standaard naar sys.stdout. De sys.stdout of systeem-standaardoutput betekent dat de print-functie de output op het scherm zet, en dit kan zelfs worden gewijzigd naar stdin of stderr.

Optionele keyword-argumenten:

  • sep: Dit kan een string zijn die je tussen waarden wilt invoegen; standaard is dit een spatie.

    Zet een lijst met woorden in de print-functie en scheid ze met een nieuwe regel. Onthoud: standaard voegt de scheidingsteken een spatie toe tussen elk woord.

print('datacamp','tutorial','on','python','print','function')
datacamp tutorial on python print function
print('datacamp','tutorial','on','python','print','function',sep='\n') #`\n` zet elk woord op een nieuwe regel
datacamp
tutorial
on
python
print
function

Op dezelfde manier kun je ze scheiden met een komma, of twee \n toevoegen, wat een lege regel ertussen plaatst, of zelfs een plusteken $(+)$ toevoegen.

print('datacamp','tutorial','on','python','print','function',sep=',')
datacamp,tutorial,on,python,print,function
print('datacamp','tutorial','on','python','print','function',sep='\n\n')
datacamp

tutorial

on

python

print

function
print('datacamp','tutorial','on','python','print','function',sep=',+')
datacamp,+tutorial,+on,+python,+print,+function

Voordat je naar het volgende argument gaat, namelijk end, onthoud dat je ook een variabele kunt doorgeven aan de print-functie. Om dit te begrijpen, definiëren we een lijst met gehele getallen en geven die door aan de print-functie. Je verwacht dat de lijst met gehele getallen wordt geprint.

int_list = [1,2,3,4,5,6]
print(int_list)
[1, 2, 3, 4, 5, 6]
  • end: Dit is een string die wordt toegevoegd na de laatste waarde; standaard is dit een nieuwe regel. Hiermee kan de programmeur een aangepast afsluitteken voor elke print-aanroep definiëren, anders dan de standaard nieuwe regel \n.

    Stel dat je twee strings hebt en die met een spatie aan elkaar wilt zetten; alles wat je hoeft te doen is in de print-functie van de eerste string str1 het argument end met aanhalingstekens toevoegen, en je kunt verwachten dat de twee strings met een spatie worden samengevoegd.

str1 = 'datacamp tutorial on'
str2 = 'python print function'
print(str1)
print(str2)
datacamp tutorial on
python print function
print(str1,end=' ')
print(str2)
datacamp tutorial on python print function

Laten we nog een voorbeeld nemen waarin je een functie hebt die alle waarden in een lijst op dezelfde regel moet printen. Dit kun je bereiken met het argument end, zoals hieronder getoond:

def value(items):
    for item in items:
        print(item, end=' ')
value([1,2,3,4])
1 2 3 4
  • file: Een file-achtig object (stream); standaard de huidige sys.stdout. Hier kun je het bestand aangeven waarin je de output van de print-functie wilt schrijven of toevoegen.

    Met het file-argument kun je de output van de print-functie in bestanden opslaan in verschillende formaten zoals .csv, .txt, enz. Begrijp dit met een voorbeeld waarin je over elk element van de lijst itereert. Het wordt opgeslagen in een tekstbestand. Om dit te doen, open je eerst een tekstbestand in een append-modus waarin je de output van de print-instructie opslaat. Vervolgens definieer je de functie waarvan de output wordt toegevoegd aan het tekstbestand.

file = open('print.txt','a+')
def value(items):
    for item in items:
        print(item, file=file)
    file.close() # sluit het bestand zodra de functie klaar is met uitvoeren.
value([1,2,3,4,5,6,7,8,9,10])

Zodra de bovenstaande functie klaar is met uitvoeren, zou je een bestand met de naam print.txt in je huidige map moeten zien. Laten we het openen en de inhoud bekijken.

output

Uit de bovenstaande output blijkt duidelijk dat je de output ook in bestanden kunt opslaan en niet alleen op de terminal of in de notebook kunt printen.

  • flush: Bepaalt of de stream geforceerd moet worden doorgespoeld. Standaard staat dit op False.

    Gewoonlijk wordt output naar een bestand of de console gebufferd, met tekstoutput ten minste tot je een nieuwe regel print (Bron). Bufferen betekent dat de output wordt opgeslagen in een soort register waar de output verblijft voordat deze wordt weggeschreven of het bestand uiteindelijk wordt gesloten. De taak van flush is ervoor te zorgen dat de gebufferde output veilig naar de bestemming gaat.

import time
print('Please enter your email-id : ', end=' ')
#print('Please enter your email-id : ', end=' ', flush=True) #run this to see the difference and comment out the above line of code.
time.sleep(5)
Please enter your email-id :  

Als je de bovenstaande code in de terminal uitvoert, merk je dat de promptstring niet verschijnt totdat de sleeptimer afloopt en het programma stopt (Bron). Voeg je echter flush=True toe aan de print-functie, dan zie je eerst de prompt en moet je vervolgens 5 seconden wachten tot het programma klaar is.

Op de een of andere manier zorgt Jupyter Notebook of Jupyter Lab hiervoor en toont de prompt vóór de timer van 5 seconden, dus als je deze functionaliteit van print wilt testen, voer het dan uit in de command-line terminal en niet in de Jupyter-notebook.

Laten we nu kijken hoe je de print-functie kunt gebruiken om invoer van de gebruiker te nemen in de Jupyter-notebook. Hiervoor gebruik je Python's ingebouwde functie input().

tutorial_topic = input()
print("The topic of today's tutorial is: ", end='')
print(tutorial_topic)
 Print Function


The topic of today's tutorial is: Print Function

Zodra je de bovenstaande cel uitvoert, zou je een output moeten zien zoals hieronder:

output

Hier definieerde je een optioneel benoemd argument end dat je eerder leerde, dat de statische tekst binnen de print-instructie met de gebruikersinvoer concateneert.

Laten we een paar coolere manieren bekijken om variabelewaarden binnen de print-functie te printen.

  • Om de waarde van een variabele samen met een vooraf gedefinieerde string weer te geven, hoef je alleen maar een komma tussen beide te zetten. De positie van de vooraf gedefinieerde string en de variabele maakt hier niet uit.
a = 2
b = "Datacamp"
print(a,"is an integer while",b,"is a string.")
2 is an integer while Datacamp is a string.
  • Je kunt gebruikmaken van het argument format waarin je zoveel variabelen kunt doorgeven als je wilt printen. Wanneer je de variabelen in de format-functie doorgeeft, moet je de indexnummers (de volgorde waarin ze in het format-argument staan) in de vooraf gedefinieerde string specificeren. Deze print-functie fungeert nu als sjabloon voor je.

    Onthoud ook dat de indexnummers hier worden weergegeven met een accolade {} die een placeholder voorstelt.

    Begrijp het met het onderstaande voorbeeld:

a = 2
b = "Datacamp"
print("{0} is an integer while {1} is a string.".format(a,b))
2 is an integer while Datacamp is a string.

Als je het indexnummer van de tweede variabele op beide plekken zet, zal het, zoals verwacht, dezelfde waarde printen, in dit geval de variabele b op beide posities.

print("{1} is an integer while {1} is a string.".format(a,b))
Datacamp is an integer while Datacamp is a string.
  • Vergelijkbaar met een format-argument, waarbij je print-functie als sjabloon fungeert, heb je het procentteken (%) dat je kunt gebruiken om de waarden van variabelen te printen.

    Net als bij het format-argument is er ook hier een concept van placeholders. Maar in tegenstelling tot de format-functie, waar je alleen indexnummers doorgeeft, moet je hier ook het datatype specificeren dat de placeholder moet verwachten.

    • %d wordt gebruikt als placeholder voor numerieke of decimale waarden.
    • %s wordt gebruikt als placeholder voor strings.
a = 2
b = "Datacamp"
print("%d is an integer while %s is a string."%(a,b))
2 is an integer while Datacamp is a string.

Laten we zien wat er gebeurt als je %s opgeeft voor de variabele a, die een geheel getal is.

print("%s is an integer while %s is a string."%(a,b))
2 is an integer while Datacamp is a string.

Zoals je in het bovenstaande voorbeeld ziet, werkt het nog steeds. De reden is dat de print-functie impliciet typecasting uitvoerde en het gehele getal naar een string converteerde. Het omgekeerde is echter niet waar. Het lukt niet om een string naar een geheel getal te converteren en resulteert in een TypeError.

Laten we het uitzoeken.

print("%d is an integer while %d is a string."%(a,b))
---------------------------------------------------------------------------

TypeError                                 Traceback (most recent call last)

<ipython-input-121-68c55041ecfe> in <module>
----> 1 print("%d is an integer while %d is a string."%(a,b))


TypeError: %d format: a number is required, not str

Conclusie

Gefeliciteerd met het afronden van de tutorial.

Deze tutorial was een goed startpunt voor beginners die vaardig willen worden in Python. Je kunt nog wat meer spelen met de print-functie en extra functionaliteiten verkennen die in deze tutorial mogelijk niet aan bod zijn gekomen.

Voel je vrij om vragen over deze tutorial te stellen in de reacties hieronder.

Als je net begint met Python en meer wilt leren, bekijk dan DataCamp's Introduction to Data Science in Python-cursus en de Python Functions Tutorial.

Onderwerpen
Python

Python-cursussen

Cursus

Introductie tot Python

4 uur
7.1M
Leer de basis van data-analyse met Python in 4 uur. Deze online cursus laat je kennismaken met de Python-interface en populaire pakketten.
Bekijk detailsRight Arrow
Start Cursus
Meer bekijkenRight 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 BekijkenMeer Bekijken