Exercícios

Gerenciadores de Contexto e Controle de Recursos em Python

Avalie seus conhecimentos sobre gerenciadores de contexto e controle de recursos em Python. Este questionário aborda o uso de with para garantir a aquisição e a liberação segura de arquivos, locks e outros recursos, além do funcionamento dos métodos __enter__ e __exit__. Explore contextos aninhados, supressão de exceções, o decorator @contextlib.contextmanager, contextlib.closing, nullcontext e ExitStack para recursos definidos dinamicamente. Você também encontrará questões sobre a ordem de execução das rotinas de limpeza, o comportamento de exceções durante o encerramento e o protocolo assíncrono com async with, __aenter__ e __aexit__. Ideal para praticar boas práticas de gerenciamento de recursos, prevenção de vazamentos e escrita de código Python mais seguro e organizado.

Responda às questões abaixo e confira a explicação de cada resposta.

0/16 respondidas

  1. 1

    Qual é a principal finalidade da instrução with em Python?

  2. 2

    Na instrução with objeto as valor, de onde normalmente vem o conteúdo atribuído à variável valor?

  3. 3

    Quando o bloco with termina sem exceções, quais valores relacionados à exceção são recebidos por __exit__?

  4. 4

    A imagem representa dois gerenciadores de contexto aninhados. Quando o bloco mais interno termina, em qual ordem os contextos são encerrados?

    Questão 4
  5. 5

    O que acontece se __exit__ retornar um valor verdadeiro após receber informações sobre uma exceção?

  6. 6

    Por que with open("dados.txt") as arquivo é preferível a abrir o arquivo sem um mecanismo explícito de fechamento?

  7. 7

    Ao criar um gerenciador com @contextlib.contextmanager, qual é a função da instrução yield?

  8. 8

    No fluxo ilustrado de um gerenciador criado com @contextmanager, em qual estrutura deve ficar a liberação do recurso para ocorrer mesmo se o bloco do usuário falhar?

    Questão 8
  9. 9

    O que faz contextlib.suppress(FileNotFoundError) quando usado em uma instrução with?

  10. 10

    Quando contextlib.closing(objeto) é especialmente útil?

  11. 11

    O diagrama mostra uma quantidade de recursos descoberta apenas durante a execução. Qual ferramenta é mais adequada para registrar e encerrar dinamicamente todos esses contextos?

    Questão 11
  12. 12

    Três callbacks de limpeza foram registrados em um ExitStack na ordem A, B e C. Em qual ordem eles serão chamados quando a pilha for fechada?

    Questão 12
  13. 13

    Qual é uma aplicação adequada de contextlib.nullcontext?

  14. 14

    Se o método __exit__ lançar uma nova exceção durante a limpeza, qual é o comportamento esperado?

  15. 15

    A imagem representa um recurso assíncrono usado com async with. Quais métodos formam o protocolo de gerenciamento de contexto assíncrono?

    Questão 15
  16. 16

    Ao usar um lock compatível com o protocolo de contexto em with lock, qual comportamento é esperado?

    Questão 16

Baixe o Aplicativo agora para ter acesso a + de 5000 cursos gratuitos, exercícios, certificado e muito conteúdo sem pagar nada!

  • Cursos online 100% gratuitos do início ao fim

    Milhares de cursos online em vídeo, ebooks e áudiobooks.

  • Mais de 60 mil exercícios gratuitos

    Para testar seus conhecimentos no decorrer dos cursos online

  • Certificado Digital gratuito válido em todo o Brasil

    Gerado diretamente na galeria de fotos do seu celular e enviado ao seu e-mail

Aplicativo Cursa na tela de ebook, na tela de curso em vídeo e na tela de exercícios do curso, mais o certificado de conclusão de curso