Python: Evitando o excesso de "or" em condicionais

Palavras-chave: Python, or, in, if, while, condicional, pythonico

Quem está começando no mundo do desenvolvimento Python e não conhece muito a linguagem, costuma criar cláusulas condicionais muito longas utilizando o operador “or”:

if a == "foo" or a == "bar" or a == "baz":
   print a

Imagine o tamanho dessa cláusula quando precisar comparar o valor de “a” com muitos outros valores. Para essas situações você pode usar o operador “in” do Python que verifica se há uma ocorrência do objeto em uma lista:

if a in ["foo", "bar", "baz"]:
   print a

Ficou bem mais simples e legível, não? Esta é a maneira “pythônica” de se montar esse tipo de cláusula condicional.

Essa dica foi sugerida pelo meu amigo Ulysses que me atentou para o fato de que os novatos na linguagem costumam fazer esse tipo de cláusula da forma inadequada.

This entry was posted in Python. Bookmark the permalink.

One Response to Python: Evitando o excesso de "or" em condicionais

  1. Luiz Geron says:

    Seria ainda melhor se usasse uma tupla em vez de uma lista. Tanto por estar usando a estrutura mais adequada na ocasião, quanto pelo desempenho.

Leave a Reply

Your email address will not be published. Required fields are marked *