1
resposta

Duvida com operadores lógicos

Boa tarde a todos!! Durante a minha aula sobre pandas, especificamente a aula Seleções e Frequencias, do curso Python Pandas: Tratando e analisando dados eu fiquei com uma dúvida sobre o operador logico AND.

o codigo: selecao = (dados['Area'] >= 60) & (dados['Area'] <= 100) funciona super bem, porem ao usar: selecao = (dados['Area'] >= 60) and (dados['Area'] <= 100) retorna erro. Acontece que ao pesquisar na internet eu vi que em foruns a galera usa o and como operador logico. Inclusive falam que o and é Logical operator e o & é Bitwise operator. Qual a diferença entre os dois? E porquê no meu codigo da o erro quando uso and?

Desde já, obrigado pela resposta

1 resposta

Olá Eduardo, tudo bem com você??

Em pandas e numpy o operador lógico para "and" é representado pelo "&" comercial, python também permite o uso se observar na documentação aqui.

Em python puro até permite o uso de "and" por ser uma palavra reservada da linguagem. É a forma como o interpretador trabalha para a construção da instrução no pc. Tanto o "and" quando "&" são operadores lógicos, com relação ao bitwise, é uma questão de como o interpretador funciona, bit a bit, ou seja, é mais simples a interpretação pro pc de um "&" do que "a"+ "n" + "d" que são representados através de mais bits, entendeu? Tem questões de uso específicas de bibliotecas, por isso é importante as consultas na documentação técnica.

Espero ter te ajudado e qualquer dúvida é só retornar aqui!

Bons estudos