Operadores e Expressões em Python

Bem, primeiramente nós estamos avançando em nossos estudos de Python. Já que agora estamos começando a colocar as mãos no código, é bom começar aprender sobre operadores e expressões em Python.

Neste artigo nós iremos aprender sobre Operadores e Expressões em Python, já que praticamente tudo que faremos a partir de agora serão expressões!

Nós não só cobriremos todos os operadores e expressões em Python, como também aprenderemos com exemplos de como utilizá-los.

Mega Tutorial Python

  1. Introdução
  2. Primeiros passos e o Hello World
  3. Tipos de Dados em Python
  4. Operadores e Expressões (Este artigo)
  5. Trabalhando com Funções em Python
  6. Estrutura de Dados em Python
  7. Trabalhando com Módulos em Python
  8. Controle de Fluxo em Python
  9. O Python e o While Else
  10. Objetos em Python
  11. Representação Interna dos Objetos
  12. Entrada e Saída em Python
  13. Trabalhando com Exceções em Python
  14. Qual o Próximo Passo?
  15. Começando com Flask Framework
  16. Templates no Flask Framework
  17. Flask com Angular 6

O que São Operadores e Expressões em Python

Bem, basicamente tudo que fazemos em programação é decerto criar expressões. Enquanto que os operadores você pode pensar como funcionalidades que fazem alguma coisa.

Imagine uma simples soma: 1 + 1 . Em suma, isso é uma expressão.

Em outras palavras, a soma 1 + 1  é uma expressão que utiliza o operador +  para somar os dois números em questão.

Para testarmos os todos os operadores, uma boa opção é utilizar o interpretador do Python em nosso terminal.

Lista Operadores em Python

Operadores e Expressões em Python - python bart simpson

Operador + (Soma)

Para realizarmos uma soma em Python, nós utilizamos o operador +, assim como realizaríamos em qualquer conta matemática.


Note que não ficamos restritos aos números com o operador de soma.

Nós podemos perfeitamente somar duas strings  por exemplo. Nós podemos até somar dois valores booleanos. Talvez não faça muito sentido para você realizar uma soma True + True , mas saiba que é possível, e o resultado desta operação é 2.

Isso acontece pois o operador de soma foi feito não apenas para somar números, mas sim somar dois objetos.

Operador – (Subtração)

O operador -  é utilizado para realizar a subtração de dois números.

Operador * (Multiplicação)

O operador *  é utilizado tanto para multiplicar dois números, quanto para repetir uma string pelo número de vezes informado.

Operador ** (Potência)

O operador ** retorna o valor de x elevado a potência y.


Por exemplo, 4 ** 4  é o mesmo que escrever 4 * 4 * 4 * 4 .

Operador / (Divisão)

O operador /  é utilizado para realizar a divisão entre dois números.

Operador // (Divisão com arredondamento)

O operador //  é utilizado para realizar uma divisão entre dois números, assim como o operador / .

A diferença entre o //  e o / , é que ao utilizar o // , nós temos como retorno o valor inteiro mais próximo do resultado, sendo que o arredondamento é realizado para baixo. Caso o número da operação seja um float , o retorno também será um.

eistein meme matematica

Operador % (Módulo)

O operador %  retorna o restante de uma divisão.

Operador << (Left Shift)

O operador <<  move os bits de do lado direito para o esquerdo. Esse tipo de operação não é tão comum, principalmente para quem está iniciando em programação. Então não precisa ficar assustado(a), pois nós não precisamos nos estender muito aqui.


Eu vou tentar explicar aqui um pouco. Como dito anteriormente, o operador << move os bits do lado direito para o lado esquerdo.

Para começar a entender, nós precisamos lembrar que os números possuem uma representação binária nos computadores. Logo, o número 10  é o mesmo que 1010  em base 2 . Ao mover 1  bit para a esquerda, nós teremos 10100 , o que em binário é a representação de 20  em decimal.

No segundo exemplo, nós movemos 2  bits para a esquerda, nós deixando com o valor 101000 , o que corresponde ao valor 40  em base decimal.

Operador >> (Right Shift)

Aqui temos o mesmo que acontece no operador <<  que falamos acima. A única diferença, é que o operador >>  no lugar de mover os bits do lado direito para o esquerdo, nós estamos movendo os bits do lado esquerdo para o direito.


Não se preocupe aqui se ficou um pouco nebuloso. Como eu já disse anteriormente, você não trabalhará com esse tipo de operador no inicio de sua carreira. Porém, saiba que eles existem, e muito provavelmente você acabará esbarrando com um ou outro cedo ou tarde.

Operador & (Bitwise E)

fancy bitwise operators are fancy

Os operadores bitwise realizam uma comparação com a representação binária de um número.

Aqui, o importante entender é que é realizada uma operação booleana para cada bit do número em base 2. A comparação realizada depende do operador. Para o operador &, é realizada uma comparação lógica E, e retorna verdadeiro para cada valor, caso eles sejam verdadeiros, e falso, caso seja uma expressão falsa.


O que está acontecendo aqui é o seguinte:


Pois, 1 e 0 é falso, 0 e 1 é falso e 1 e 1 é verdadeiro, resultando em 001, ou 1 em base 10.

Operador | (Bitwise OU)

O operador |, assim como o &, realiza uma comparação com os valores binários, porém, no lugar da operação booleana E, é realizada uma operação OU.


Ou, como fizemos no exemplo anterior, vamos realizar a comparação dos números binários.

Operador ^ (Bitwise XOR)

O operador ^ realiza as mesmas comparações que os outros operadores bitwise que foram descritos anteriormente.

A diferença aqui é que ele retornará verdadeiro para quando a operação for false, e vice versa.


E como de praxe, segue a comparação:


meme programacao

Operador ~ (Bitwise invertido)

O operador ~  na prática, realiza a seguinte operação com o valor: -(x + 1)

Logo, sempre que utilizarmos o ~  em um valor inteiro, ele terá + 1  em seu valor, e seu sinal ficará invertido.

Operador < (Menor que)

O operador <  retorna verdadeiro ou falso, dada a expressão entre dois valores.

Ele retornará verdadeiro caso o valor da esquerda seja menor que o valor da direita.

Consequentemente, o valor contrário será retornado no caso dos valores estarem em posições trocadas.

Ao contrário de algumas linguagens, o operador < pode ser encadeado em várias expressões, como demonstrado abaixo:

Operador > (Maior que)

O operador >, ou maior que, é exatamente o oposto do operador <. Ele retornará verdadeiro caso o valor da esquerda seja superior ao valor da direita.

Assim como o operador <, o operador > também pode ser encadeado diversas vezes.

Operador <= (Menor ou igual)

O operador <=  é exatamente igual ao operador < , com a exceção de retornar verdadeiro em caso de valores iguais.

Operador >= (Maior ou igual)

O operador >= é exatamente igual ao operador >, com a exceção de retornar verdadeiro em caso de valores iguais

Operador == (Igual)

O operador ==  é realizado para realizar comparações de igualdade. Uma operação utilizando o ==  retornará verdadeiro apenas em casos onde os dois valores são iguais. Para todos os outros casos, o valor retornado será falso.


not sure if im a good programmer

Operador != (Diferente)

O operador !=  é exatamente o oposto do operador == . Ele retornará verdadeiro para todas as vezes que os valores forem diferentes. Em casos de igualdade, ele retornará falso.

Operador not (Negação booleana)

O operador not  retorna verdadeiro em caso de uma expressão falsa, e falso em caso de uma expressão verdadeira.

Operador and (E booleano)

O operador and  retorna verdadeiro no caso dos dois valores serem verdadeiros. Caso contrário, o retorno será falso.

Operador or (Ou booleano)

O operador or retornará verdadeiro em caso de um dos valores for verdadeiro. Caso contrário, o retorno será falso.

Links e Referências

No Responses

  1. Pingback: Mega Tutorial Python - O Guia Definitivo 28 de novembro de 2018
  2. Pingback: Tipos de Dados em Python - Mega Tutorial Python 4 de dezembro de 2018
  3. Pingback: Estrutura de Dados em Python - Mega Tutorial Python 4 de dezembro de 2018
  4. Pingback: Trabalhando com Módulos em Python 11 de dezembro de 2018
  5. Pingback: Objetos em Python - Mega Tutorial Python 11 de dezembro de 2018
  6. Pingback: Controle de Fluxo em Python - Mega Tutorial Python 11 de dezembro de 2018
  7. Pingback: Entrada e Saída em Python - Mega Tutorial Python 12 de dezembro de 2018

Leave a Reply