3 způsoby, jak ukončit program v Pythonu

Rychlé odkazy

Vědět, jak ukončit program, je důležité a může být užitečné v různých situacích. Pokud například vytváříte jednoduchou hru, můžete ji ukončit na základě zadání konkrétního uživatele nebo při splnění určité podmínky. Objevte rozdíly mezi třemi způsoby zastavení programu Python.

1. Použití quit() nebo exit()

Jedním z nejjednodušších způsobů ukončení programu v Pythonu je použití jedné z vestavěných metod, quit() nebo exit(). Když zavoláte buď quit() nebo exit(), program se ukončí.

Funkce quit() a exit() dělají přesně to samé, je to jen otázka osobních preferencí, které použijete.

Zde je návod, jak můžete použít funkci quit() k ukončení programu Python:

 for num in range(10):
    if num == 9:
        quit()
    print(num)

Výše uvedený ukázkový program vytiskne na konzole celá čísla od 0 do 8. Jakmile je číslo 9, program se ukončí. Můžete také použít příkaz quit() k ukončení Python Integrated Development and Learning Environment (IDLE), které vám umožňuje spouštět skripty Python interaktivně.

  Nástroj produktivity pro kodéry

Pamatujte, že quit() i exit() spoléhají na modul webu, takže byste je neměli používat v produkčním prostředí. Další metoda, sys.exit(), je lepší volbou.

2. Použití sys.exit()

Když ve svém programu zavoláte sys.exit(), Python vyvolá výjimku SystemExit. Přijímá volitelný argument pro zadání celočíselného výstupního kódu (ve výchozím nastavení 0). Můžete také předat objekt, který bude mít za následek návratový kód 1 a vypíše hodnotu řetězce objektu se standardní chybou.

 import sys 

for num in range(10):
    if num == 5:
        sys.exit("You exited the program")
    print(num)

Výstup programu bude následující:

Stejně jako metody quit a exit i sys.exit() vyvolává výjimku SystemExit. To znamená, že můžete zavolat sys.exit() nebo zvýšit SystemExit(). Oba přijímají volitelný argument.

  14 nejlepších žurnálových aplikací pro shrnutí vašeho dne

Pokud nerozumíte tomu, jak výše uvedený kód funguje, měli byste se dozvědět o nejdůležitějších funkcích Pythonu.

3. Použití os._exit()

Třetím způsobem ukončení programu je speciální metoda os._exit(). Můžete mu předat volitelný argument pro zadání kódu stavu ukončení. os._exit() pochází z modulu os a okamžitě ukončí proces, aniž by provedl běžné činnosti čištění, ke kterým dochází při ukončení programu Python.

Protože se tato funkce ukončí bez provedení normálního čištění, měli byste ji používat pouze ve speciálních případech. Podle Python dokumentacedobrým příkladem je podřízený proces po forku (nový proces vytvořený pomocí os.fork()).

Zde je příklad, jak použít funkci os._exit() k ukončení programu:

 import os
import sys

def child_process():
    print("Child process is running.")
    os._exit(0)

def main():
    print("Parent process is running.")

    try:
        pid = os.fork()

        if pid == 0:
            
            child_process()
        else:
            
            print(f"Parent process is continuing with child process PID: {pid}")
    except OSError as e:
        print(f"Fork failed: {e}")
        sys.exit(1)

    print("Parent process is done.")

if __name__ == "__main__":
    main()

Výše uvedený kód vypíše následující:

  Jak spolupracovat na prezentaci Microsoft PowerPoint

Jakou metodu byste měli použít k ukončení programu v Pythonu?

Python poskytuje různé způsoby ukončení programu. Většina těchto metod však dělá totéž. To by mělo snížit zátěž při rozhodování, pokud potřebujete do svého programu při učení Pythonu přidat ukončovací mechanismus.

Stručně řečeno, sys.exit() by měla být vaší hlavní metodou pro ukončení programu v Pythonu. Vyvolá výjimku SystemExit s volitelným ukončovacím kódem.

Metody quit() a exit() jsou vhodnější při použití Python REPL. Měli byste se jim ve výrobě vyhnout, protože závisí na modulu webu, který nemusí být vždy dostupný. Zřídka byste měli potřebovat použít os._exit(), pokud nepracujete s kódem, který rozvětvuje procesy.