Considere as seguintes sentenças sobre a linguagem de progra...
Considere as seguintes sentenças sobre a linguagem de programação Python (SWEIGART, 2015).
(SWEIGART, Al. Automatize tarefas maçantes com Python. São Paulo: Novatec, 2015.)
I - O tratamento de exceções pode ser implementado por meio das cláusulas try e except.
II - É possível usar inteiros negativos como índices de uma lista, na qual o valor -1 refere-se ao último índice da lista, o valor -2 refere-se ao penúltimo índice da lista, e assim por diante.
III - Caso se queira copiar uma lista que contenha listas, o módulo copy deve ser importado e utilizado o comando copy.copy() para copiar a lista e suas respectivas listas internas.
IV - O módulo logging possui 4 níveis, sendo eles logging.default(), logging.info(), logging.warning() e logging. error().
Assinale a alternativa CORRETA:
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Alternativa correta: D - Apenas as sentenças I e II estão corretas.
Tema central: A questão trata de características fundamentais da linguagem Python, exigindo conhecimento prático sobre tratamento de exceções, operações com listas, cópias de listas aninhadas e funcionalidades do módulo logging.
Resumo teórico: Para resolver essa questão, é necessário compreender:
- Tratamento de exceções: Em Python, usa-se try e except para capturar e tratar erros.
- Índices negativos em listas: Permitem acessar elementos de trás para frente. O índice -1 representa o último elemento, -2 o penúltimo, e assim por diante.
- Cópia de listas: copy.copy() faz cópia superficial (shallow copy). Para listas aninhadas, é necessário copy.deepcopy() para copiar também as sublistas.
- Módulo logging: Possui níveis padrão como debug, info, warning, error e critical. Não existe logging.default().
Justificativa da alternativa correta:
I - Correta: O uso de try e except é a forma oficial de tratar exceções em Python. (Fonte: SWEIGART, 2015)
II - Correta: Índices negativos em listas são amplamente aceitos e funcionam conforme descrito.
Análise das alternativas incorretas:
- III - Incorreta: O comando copy.copy() não copia listas internas; para isso, é necessário copy.deepcopy().
- IV - Incorreta: O módulo logging não possui o nível default; os níveis corretos são: debug, info, warning, error e critical.
Estratégias para interpretação: Preste atenção em termos técnicos exatos e funções citadas; nomes ligeiramente alterados, como logging.default, costumam indicar pegadinhas. Além disso, ao ler alternativas sobre comandos, confira se eles realmente existem ou têm o comportamento citado.
Gostou do comentário? Deixe sua avaliação aqui embaixo!
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo
Comentários
Veja os comentários dos nossos alunos
d-
o modulo 'logging' do python nao tem relaçao com user login; logging é baseado no protocolo syslog, o qual classifica as açoes no sistema consoante prioridade (0= emergencia; 2= critico; 3= error; 5= notificaçao; 7 = debug etc)
exemplo de logging no python:
import logging
# conf basica do logging
logging.basicConfig(
level=logging.DEBUG, # mensagens syslog exibidas a partir no nivel debug. como o debug é o nivel menos critico, #mostra todas msgs
format="%(levelname)s: %(message)s"
#nivel e msg vem em %()!
)
# Verschiedene Meldungen
logging.debug("Dies ist eine Debug-Meldung (Details für Entwickler).")
logging.info("Dies ist eine Info-Meldung (normale Abläufe).")
logging.warning("Dies ist eine Warnung (etwas Unerwartetes).")
logging.error("Dies ist eine Fehlermeldung (Fehler im Ablauf).")
logging.critical("Dies ist eine kritische Meldung (schwerer Fehler).")
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo