Analisando strings em booleanos em Python: resolvendo as inconsistências
Embora o Python ofereça um método direto para converter strings em booleanos usando bool() função, muitas vezes leva a resultados inesperados. Este artigo demonstra abordagens alternativas para converter strings em booleanos com precisão.
Um problema comum que surge com bool() é que todas as strings não vazias são avaliadas como True. Para resolver isso, pode-se comparar a string com valores específicos que representam "true":
>>> s == 'True'
Esta abordagem garante que apenas strings explicitamente combinando a avaliação "True" com True.
Para cenários mais complexos, é recomendado verificar uma lista de valores aceitos:
>>> s.lower() in ['true', '1', 't', 'y', 'yes', 'yeah', 'yup', 'certainly', 'uh-huh']
No entanto, é crucial ter cuidado ao usar bool() com strings não vazias. Conforme demonstrado abaixo, strings vazias são avaliadas como False, enquanto todas as outras são avaliadas como True:
>>> bool("foo")
True
>>> bool("")
False
Esse comportamento é problemático para fins de análise, pois strings não vazias que deveriam ser avaliadas como False retornarão True. Portanto, os métodos alternativos mencionados acima devem ser preferidos para conversões precisas de string em booleano.
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3