Contents

3 maneiras de terminar um programa em Python

Ligações Rápidas

⭐ Utilizar quit() ou exit()

⭐ Utilizar sys.exit()

⭐ Utilizar os._exit()

⭐ Que método deve utilizar para terminar um programa em Python?

Terminar um aplicativo de software com proficiência tem significado em diversas situações. Como ilustração, considerando que se está a conceber um jogo de vídeo elementar, é possível sair com base numa determinada entrada do utilizador ou na realização de um pré-requisito predefinido. O que é que se pode fazer para que um jogo de vídeo elementar seja criado?

Utilizar quit() ou exit()

Pode concluir-se um script Python utilizando uma das suas funções inerentes, nomeadamente “quit()” ou “exit()”. Ao invocar qualquer um destes comandos, o programa pára de ser executado.

Ambas as funções quit() e exit() servem propósitos idênticos; utilizar qualquer uma delas é principalmente uma questão de escolha individual baseada na inclinação pessoal em vez de qualquer diferença significativa na funcionalidade.

“Para pôr fim a um script Python, pode utilizar-se a função quit().

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

O código fornecido percorre números que vão de 0 a 8, apresentando-os sequencialmente na consola. Ao encontrar um valor de 9, o programa termina a sua operação. Adicionalmente, pode utilizar-se a função quit() para cessar a execução do Ambiente Integrado de Desenvolvimento e Aprendizagem Python (IDLE). Esta plataforma permite aos utilizadores executar scripts Python de forma interactiva, oferecendo uma oportunidade de experiência prática em programação.

Note-se que tanto o quit() como o exit() dependem da funcionalidade do módulo site , pelo que podem não ser adequados para utilização em ambientes de produção. Em vez disso, a abordagem alternativa fornecida por sys.exit() é geralmente considerada mais apropriada em tais contextos.

Utilizar sys.exit()

Ao utilizar a função sys.exit() num script Python, é criada uma instância da exceção SystemExit . Esta exceção suporta um parâmetro opcional que determina o código de saída, com um valor predefinido de 0. Além disso, permite a passagem de um objeto que, após a execução, produzirá um código de saída de 1 e apresentará a representação em cadeia do objeto no fluxo de erro padrão.

 import sys # Remember to include this statement at the top of the module

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

A saída resultante do programa deve consistir no seguinte formato:

/pt/images/python-code-output-screenshot.jpg

Semelhante à funcionalidade fornecida pelos métodos quit e exit no módulo sys incorporado em Python, o método sys.exit() é mais uma forma de terminar graciosamente um script Python. Tal como os seus homólogos, quando invocado, desencadeia o levantamento de uma exceção SystemExit . A distinção notável aqui reside no facto de que chamar ou sys.exit() ou raise SystemExit() irá ambos aceitar um argumento opcional para fornecer informação adicional, se necessário.

De modo a obter uma compreensão abrangente da funcionalidade do código fornecido, recomenda-se que se familiarize com as funções Python fundamentais que são utilizadas no script.

Utilizar os._exit()

A terceira abordagem para sair de um programa envolve a utilização do método especial os._exit() , que lhe permite fornecer um parâmetro opcional especificando um código de estado de saída. Este método reside no módulo os e termina prontamente o processo sem executar as tarefas de limpeza habituais tipicamente associadas ao fim de um programa Python.

Como esta função termina sem executar a limpeza normal, só a deve utilizar em casos especiais. De acordo com a documentação do Python , um bom exemplo é em um processo filho após um fork (um novo processo criado usando os.fork() ).

 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:
            # Code in the child process
            child_process()
        else:
            # Code in the parent process
            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()

O código acima produzirá o seguinte:

/pt/images/code-output-python.jpg

Qual método você deve usar para encerrar um programa em Python?

Python oferece várias abordagens para terminar um programa, embora muitas delas acabem por resultar na cessação da execução do programa. Estas alternativas podem aliviar a carga cognitiva associada à seleção de um método apropriado para terminar um programa enquanto se desenvolve software em Python, particularmente durante as fases iniciais de aprendizagem da linguagem.

Em conclusão, ao terminar um programa em Python, recomenda-se a utilização da função sys.exit() , uma vez que esta gera efetivamente uma exceção SystemExit juntamente com um código de saída opcional para uma cessação perfeita do funcionamento do software.

A utilização dos métodos quit() e exit() é recomendada durante a interação com o Python Read-Eval-Print Loop (REPL). No entanto, é desaconselhado o emprego destes métodos num ambiente de produção devido à sua dependência do módulo site , cuja disponibilidade não pode ser garantida a todo o momento. Além disso, recorrer ao método os._exit() é uma prática pouco frequente, exceto quando se lida com código que gera novos processos.