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.
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 codeprint("Welcome back World!")# this code will not run after exitingMogelijk gemaakt door
print("Hello World! Let's exit the program")
quit()# Use the quit() function to terminate processes in casual codeprint("Welcome back World!")# this code will not run after quittingMogelijk gemaakt door
Python afsluiten met de functie sys.exit()
import sys # In some cases, you may need to import the sys moduleprint("Hello World! Let's exit the program")
sys.exit()# Use the sys.exit() function to terminate processes in production codeprint("Welcome back World!")# this code will not run after exitingMogelijk gemaakt door
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.
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()Mogelijk gemaakt door
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.
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.
Maak je programmeervaardigheden nog beter. Leer hoe je code kunt optimaliseren, functies en tests kunt schrijven en de beste software-engineeringtechnieken kunt gebruiken.
Leer datawetenschap in Python, van datamanipulatie tot machine learning, en doe de vaardigheden op die je nodig hebt voor de certificering Data Scientist in Python!
Leer de vaardigheden die je nodig hebt om data efficiënt te verzamelen, op te schonen en te beheren, en om pijplijnen te plannen en te monitoren, zodat je je kunt onderscheiden op het gebied van data-engineering.
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()ofquit()om Python-processen in informele code te beëindigen ensys.exit()in productcode. Gebruikos._exit()alleen in zeldzame situaties waarin je geen opschoontaken hoeft uit te voeren. Hier zijn voorbeelden vanexit(),quit()ensys.exit()in actie:Python afsluiten met de functies
exit()ofquit()Python afsluiten met de functie
sys.exit()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()ofquit()De functie
exit()kan worden gebruikt om eenSystemExit-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.of
De functie
quit()werkt op dezelfde manier als de functieexit().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 functiequit()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 productcodeIn productcode is het gebruikelijk om de functie
sys.exit()uit de modulesyste gebruiken om Python af te sluiten zonder afhankelijk te zijn van de site-module. De modulesysis over het algemeen beschikbaar, maar je moet die wel importeren. Deze functie accepteert ook optioneel een exitcode-argument.Net als
exit()enquit()werptsys.exit()eenSystemExit-exceptie op die Python beëindigt.Python snel afsluiten met
os._exit()Naast de functies
exit()enquit()biedt Python de functieos._exit()voor snelle beëindiging met beperkte functionaliteit. In tegenstelling totexit() enquit(), die een SystemExit-exceptie opwerpen en daarna enkele opschoontaken uitvoeren, beëindigtos._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.