Ga naar hoofdinhoud

Python afsluiten: een snelle tutorial

In dit artikel behandelen we de basis van wat er gebeurt wanneer je Python beëindigt, hoe je Python afsluit met verschillende exit-functies en toetsenbordsneltoetsen, plus veelvoorkomende problemen en hoe je die voorkomt.

Verken met AI

Vaak, als ik klaar ben met werken in Python, klik ik gewoon op de sluitknop in de hoek van de IDE om het programma te beëindigen en regelt de IDE het afsluiten van Python. Maar soms moet ik Python meer programmatisch afsluiten, bijvoorbeeld wanneer ik direct in de terminal werk of wanneer ik wil dat een programma Python automatisch sluit na het uitvoeren. In die gevallen zijn de ingebouwde exit-functies van Python de juiste keuze.

Het korte antwoord: zo sluit je een programma in Python af

Gebruik exit() of quit() om Python-processen in informele code te beëindigen en sys.exit() in productcode. Gebruik os._exit() alleen in zeldzame situaties waarin je geen opschoontaken hoeft uit te voeren. Hier zijn voorbeelden van exit(), quit() en sys.exit() in actie:

Python afsluiten met de functies exit() of quit()

print("Hello World! Let's exit the program")
exit() # Use the exit() function to terminate processes in casual code
print("Welcome back World!") # this code will not run after exiting
print("Hello World! Let's exit the program")
quit() # Use the quit() function to terminate processes in casual code
print("Welcome back World!") # this code will not run after quitting

Python afsluiten met de functie sys.exit()

import sys # In some cases, you may need to import the sys module
print("Hello World! Let's exit the program")
sys.exit() # Use the sys.exit() function to terminate processes in production code
print("Welcome back World!") # this code will not run after exiting

Wat houdt Python afsluiten in?

Python afsluiten verwijst naar het beëindigen van de Python-interpreter of -sessie, waarmee de uitvoering van het Python-programma stopt. Meestal omvat dit het uitvoeren van opschoontaken voordat de interpreter en Python zelf worden beëindigd. Afhankelijk van hoe je Python afsluit, gebeuren deze opschoonprocessen automatisch, achter de schermen. Je kunt meer leren over de details van hoe dit werkt in deze cursus over software-engineeringprincipes.

Vier methoden om Python-code af te sluiten

Er zijn verschillende methoden om Python af te sluiten, naast wat je IDE biedt. Laten we er hieronder een paar bekijken:

Met de functies exit() of quit()

De functie exit() kan worden gebruikt om een SystemExit-exceptie op te werpen, die de Python-interpreter beëindigt. Dit is vooral handig in de interactieve interpreter-shell. De functie accepteert optioneel een exitcode-argument, dat meestal wordt gebruikt om de reden van afsluiten aan te geven maar ook leeg kan blijven.

exit()

of

exit(0)  # Exit with a success status

De functie quit() werkt op dezelfde manier als de functie exit().

quit()

Deze twee functies zijn vooral toegevoegd om gemakkelijk uit de Python-terminal te kunnen komen. Als je niet wist hoe je die moest sluiten, zou je "exit" of "quit" gaan typen als logische gok om te ontsnappen.

Zowel de functie exit() als de functie quit() is afhankelijk van de site-module, die niet altijd beschikbaar is. Het is daarom onverstandig om dit in productcode te gebruiken.

Gebruik van de functie sys.exit() voor productcode

In productcode is het gebruikelijk om de functie sys.exit() uit de module sys te gebruiken om Python af te sluiten zonder afhankelijk te zijn van de site-module. De module sys is over het algemeen beschikbaar, maar je moet die wel importeren. Deze functie accepteert ook optioneel een exitcode-argument.

Net als exit() en quit() werpt sys.exit() een SystemExit-exceptie op die Python beëindigt.

import sys # In some cases, you may need to import the sys module
sys.exit()

Python snel afsluiten met os._exit()

Naast de functies exit() en quit() biedt Python de functie os._exit() voor snelle beëindiging met beperkte functionaliteit. In tegenstelling tot exit() en quit(), die een SystemExit-exceptie opwerpen en daarna enkele opschoontaken uitvoeren, beëindigt os._exit() het Python-proces onmiddellijk zonder extra opschoonstappen aan te roepen. Wil je meer weten over opschoonprocessen, lees dan over exceptions en foutafhandeling in Python, of bekijk deze Python voor Developers-cursus op Datacamp.

Deze functie is nuttig wanneer onmiddellijke beëindiging vereist is, bijvoorbeeld wanneer de interpreter abrupt moet worden afgesloten. Wees echter voorzichtig; hij omzeilt het normale opschoonproces van de Python-runtime, wat later problemen kan veroorzaken. In de overgrote meerderheid van de gevallen is het gebruik van exit(), quit() of sys.exit() een betere optie.

Toetsenbordsneltoetsen om Python af te sluiten

In de Python-interpreter of terminal kun je Python afsluiten door op Ctrl + Z op Windows of Ctrl + D op macOS te drukken. Deze sneltoetsen geven aan de interpreter door dat het bestand voltooid is en vertellen hem Python te beëindigen. Net als os._exit() voert deze methode geen opschoontaken uit. Als je deze methode wilt gebruiken, moet je ervoor zorgen dat de juiste opschoontaken expliciet in je code zijn opgenomen.

Veelvoorkomende problemen

Het belangrijkste om te overwegen bij het afsluiten van een programma zijn de opschoontaken. Als je de opschoonstap overslaat, kan dat leiden tot problemen zoals geheugenlekken, gegevensverlies of -corruptie en nog een hele reeks andere problemen. Als je programma zich vreemd begint te gedragen, controleer dan of je de opschoontaken correct uitvoert tijdens het afsluiten.

Een ander veelvoorkomend probleem bij het afsluiten van Python is het per ongeluk beëindigen van de verkeerde sessie of interpreter, vooral in omgevingen met meerdere actieve sessies. Wees voorzichtig met het gebruik van sneltoetsen of exit-functies om er zeker van te zijn dat je de bedoelde sessie afsluit.

Soms werk je op een systeem zonder de site-module, waardoor exit() en quit() onbruikbaar zijn. Gebruik in dat geval sys.exit(), omdat de sys-module altijd is geïnstalleerd.

Conclusie

Python programmatisch afsluiten is een belangrijk onderdeel van programmeren in Python. Door de verschillende methoden om Python af te sluiten en hun praktische toepassingen te begrijpen, kun je de uitvoering en beëindiging van Python-code effectief beheren.

Leer meer over het gebruik van Python-interpreters in deze Python-setupgids of dit artikel over Python-scripts. Leer hoe je Python Shell gebruikt in deze Introductiecursus Shell of deze Data Processing in Shell-cursus. Als je geïnteresseerd bent in een carrière als Python-programmeur, bekijk dan DataCamp’s Python Programmer Career Track.

Amberle McKee

Auteur

Amberle McKee

Ik ben gepromoveerd en heb 13 jaar ervaring met het werken met data in een biologische onderzoeksomgeving. Ik maak software in verschillende programmeertalen, waaronder Python, MATLAB en R. Ik deel met plezier mijn liefde voor leren met de wereld.

Onderwerpen

Gerelateerd