328 lines
		
	
	
		
			7.0 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
		
		
			
		
	
	
			328 lines
		
	
	
		
			7.0 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
|   | --- | |||
|  | title: Basic Operators | |||
|  | localeTitle: Operadores Básicos | |||
|  | --- | |||
|  | ## Operadores Básicos
 | |||
|  | 
 | |||
|  | Operadores são símbolos que dizem ao interpretador para fazer uma operação específica (viz, aritmética, comparação, lógica, etc.) | |||
|  | 
 | |||
|  | Os diferentes tipos de operadores em Python estão listados abaixo: | |||
|  | 
 | |||
|  | 1.  Operadores aritméticos | |||
|  | 2.  Operadores Relacionais | |||
|  | 3.  Operadores bit a bit | |||
|  | 4.  Operadores de atribuição | |||
|  | 5.  Operadores lógicos | |||
|  | 6.  Operadores de Associação | |||
|  | 7.  Operadores de Identidade | |||
|  | 
 | |||
|  | #### Operadores aritméticos
 | |||
|  | 
 | |||
|  | Um operador aritmético usa dois operandos como entrada, executa um cálculo e retorna o resultado. | |||
|  | 
 | |||
|  | Considere a expressão **"a = 2 + 3"** . Aqui, `2` e `3` são os _operandos_ e `+` é o _operador aritmético_ . O resultado da operação é armazenado na variável a. | |||
|  | 
 | |||
|  | Operador | |||
|  | 
 | |||
|  | Descrição | |||
|  | 
 | |||
|  | Uso | |||
|  | 
 | |||
|  | + | |||
|  | 
 | |||
|  | Executa Adição nos operandos | |||
|  | 
 | |||
|  | 12 + 3 = 15 | |||
|  | 
 | |||
|  | \- | |||
|  | 
 | |||
|  | Executa subtração nos operandos. Subtrai o operando direito do operando esquerdo | |||
|  | 
 | |||
|  | 12 - 3 = 9 | |||
|  | 
 | |||
|  | \* | |||
|  | 
 | |||
|  | Executa a multiplicação nos operandos | |||
|  | 
 | |||
|  | 12 \* 3 = 36 | |||
|  | 
 | |||
|  | / | |||
|  | 
 | |||
|  | Executa a divisão nos operandos. Divide o operando esquerdo pelo operando direito | |||
|  | 
 | |||
|  | 12/3 = 4 | |||
|  | 
 | |||
|  | Nota: Quando dois inteiros são usados, o resultado difere entre o Python 2 e o Python 3. | |||
|  | 
 | |||
|  | 5/2 = 2 no Python 2 | |||
|  | 
 | |||
|  | 5/2 = 2,5 no Python 3 | |||
|  | 
 | |||
|  | % | |||
|  | 
 | |||
|  | Executa um Modulo nos operandos. Retorna o restante obtido ao dividir o operando esquerdo pelo operando direito | |||
|  | 
 | |||
|  | 16% 3 = 1 | |||
|  | 
 | |||
|  | \*\* | |||
|  | 
 | |||
|  | Executa uma operação de exponenciação. O operando da esquerda é elevado à potência do operando da direita | |||
|  | 
 | |||
|  | 12 \*\* 3 = 1728 | |||
|  | 
 | |||
|  | // | |||
|  | 
 | |||
|  | Executa uma operação de divisão de piso. Retorna a parte integral do quociente obtido após o mergulho do operando esquerdo pelo operando direito | |||
|  | 
 | |||
|  | 18 // 5 = 3 | |||
|  | 
 | |||
|  | Nota: Para obter o resultado no tipo flutuante, um dos operandos também deve ser do tipo flutuante. | |||
|  | 
 | |||
|  | #### Operadores Relacionais
 | |||
|  | 
 | |||
|  | Um operador relacional é usado para comparar dois operandos para decidir uma relação entre eles. Ele retorna um valor booleano com base na condição. | |||
|  | 
 | |||
|  | Operador | |||
|  | 
 | |||
|  | Descrição | |||
|  | 
 | |||
|  | Uso | |||
|  | 
 | |||
|  | \> | |||
|  | 
 | |||
|  | Retorna True se o operando da esquerda for maior que o operando da direita Retorna Falso de outra forma | |||
|  | 
 | |||
|  | 12> 3 devolve Verdadeiro | |||
|  | 
 | |||
|  | < | |||
|  | 
 | |||
|  | Retorna Verdadeiro se o operando direito for maior que o operando esquerdo Retorna Falso de outra forma | |||
|  | 
 | |||
|  | 12 <3 retorna falso | |||
|  | 
 | |||
|  | \== | |||
|  | 
 | |||
|  | Retorna True se ambos os operandos são iguais Retorna Falso de outra forma | |||
|  | 
 | |||
|  | 12 = = 3 retorna falso | |||
|  | 
 | |||
|  | \> = | |||
|  | 
 | |||
|  | Retorna Verdadeiro se o operando da esquerda for maior ou igual ao operando da direita Retorna Falso de outra forma | |||
|  | 
 | |||
|  | 12> = 3 devolve Verdadeiro | |||
|  | 
 | |||
|  | <= | |||
|  | 
 | |||
|  | Retorna True se o operando da direita for maior ou igual ao operando da esquerda Retorna Falso de outra forma | |||
|  | 
 | |||
|  | 12 <= 3 retorna falso | |||
|  | 
 | |||
|  | ! = | |||
|  | 
 | |||
|  | Retorna True se ambos os operandos não forem iguais Retorna Falso de outra forma | |||
|  | 
 | |||
|  | 12! = 3 devolve Verdadeiro | |||
|  | 
 | |||
|  | #### Operadores bit a bit
 | |||
|  | 
 | |||
|  | Um operador bit a bit executa operações nos operandos pouco a pouco | |||
|  | 
 | |||
|  | Considere a = 2 (em notação binária, 10) eb = 3 (em notação binária, 11) para os usos abaixo | |||
|  | 
 | |||
|  | Operador | |||
|  | 
 | |||
|  | Descrição | |||
|  | 
 | |||
|  | Uso | |||
|  | 
 | |||
|  | E | |||
|  | 
 | |||
|  | Executa operação bit a bit AND nos operandos | |||
|  | 
 | |||
|  | a & b = 2 Binário: 10 e 11 = 10 | |||
|  | 
 | |||
|  | | | |||
|  | 
 | |||
|  | Executa operação OR bit a bit nos operandos | |||
|  | 
 | |||
|  | a | b = 3 Binário: 10 | 11 = 11 | |||
|  | 
 | |||
|  | ^ | |||
|  | 
 | |||
|  | Executa a operação XOR bit a bit nos operandos | |||
|  | 
 | |||
|  | a ^ b = 1 Binário: 10 ^ 11 = 01 | |||
|  | 
 | |||
|  | ~ | |||
|  | 
 | |||
|  | Executa operação NOT bit a bit no operando Vira cada bit no operando | |||
|  | 
 | |||
|  | ~ a = -3 Binário: ~ (00000010) = (11111101) | |||
|  | 
 | |||
|  | \>> | |||
|  | 
 | |||
|  | Executa um deslocamento à direita bit a bit. Desloca os bits do operando esquerdo, diretamente pelo número de bits especificado como operando à direita | |||
|  | 
 | |||
|  | a >> b = 0 Binário: 00000010 >> 00000011 = 0 | |||
|  | 
 | |||
|  | << << | |||
|  | 
 | |||
|  | Executa um deslocamento à esquerda bit a bit. Desloca os bits do operando esquerdo, deixados pelo número de bits especificado como operando à direita | |||
|  | 
 | |||
|  | a << b = 16 Binário: 00000010 << 00000011 = 00001000 | |||
|  | 
 | |||
|  | #### Operadores de atribuição
 | |||
|  | 
 | |||
|  | Um operador de atribuição é usado para atribuir valores a uma variável. Isso geralmente é combinado com outros operadores (como aritmética, bit a bit) onde a operação é executada nos operandos e o resultado é atribuído ao operando esquerdo. | |||
|  | 
 | |||
|  | Considere os seguintes exemplos, **a = 18** Aqui `=` é um operador de atribuição e o resultado é armazenado na variável a. **a + = 10** . Aqui `+=` é um operador de atribuição e o resultado é armazenado na variável a. Isso é o mesmo que a = a + 10. | |||
|  | 
 | |||
|  | Operador | |||
|  | 
 | |||
|  | Uso | |||
|  | 
 | |||
|  | \= | |||
|  | 
 | |||
|  | a = 5. O valor 5 é atribuído à variável a | |||
|  | 
 | |||
|  | \+ = | |||
|  | 
 | |||
|  | a + = 5 é equivalente a = a + 5 | |||
|  | 
 | |||
|  | \- = | |||
|  | 
 | |||
|  | a - = 5 é equivalente a = a - 5 | |||
|  | 
 | |||
|  | \* = | |||
|  | 
 | |||
|  | a \* = 3 é equivalente a = a \* 3 | |||
|  | 
 | |||
|  | / = | |||
|  | 
 | |||
|  | a / = 3 é equivalente a = a / 3 | |||
|  | 
 | |||
|  | % = | |||
|  | 
 | |||
|  | um% = 3 é equivalente a = a% 3 | |||
|  | 
 | |||
|  | \*\* = | |||
|  | 
 | |||
|  | a \*\* = 3 é equivalente a = a \*\* 3 | |||
|  | 
 | |||
|  | // = | |||
|  | 
 | |||
|  | a // = 3 é equivalente a = a // 3 | |||
|  | 
 | |||
|  | & = | |||
|  | 
 | |||
|  | a & = 3 é equivalente a = a & 3 | |||
|  | 
 | |||
|  | | = | |||
|  | 
 | |||
|  | a | = 3 é equivalente a = a | 3 | |||
|  | 
 | |||
|  | ^ = | |||
|  | 
 | |||
|  | a ^ = 3 é equivalente a = a ^ 3 | |||
|  | 
 | |||
|  | \>> = | |||
|  | 
 | |||
|  | a >> = 3 é equivalente a = a >> 3 | |||
|  | 
 | |||
|  | << = | |||
|  | 
 | |||
|  | a << = 3 é equivalente a = a << 3 | |||
|  | 
 | |||
|  | #### Operadores lógicos
 | |||
|  | 
 | |||
|  | Um operador lógico é usado para tomar uma decisão com base em várias condições. Os operadores lógicos usados no Python são `and` , `or` e `not` | |||
|  | 
 | |||
|  | Operador | |||
|  | 
 | |||
|  | Descrição | |||
|  | 
 | |||
|  | Uso | |||
|  | 
 | |||
|  | e | |||
|  | 
 | |||
|  | Retorna True se ambos os operandos forem True Retorna Falso de outra forma | |||
|  | 
 | |||
|  | aeb | |||
|  | 
 | |||
|  | ou | |||
|  | 
 | |||
|  | Retorna True se qualquer um dos operandos for True Retorna Falso de outra forma | |||
|  | 
 | |||
|  | a ou B | |||
|  | 
 | |||
|  | não | |||
|  | 
 | |||
|  | Retorna Verdadeiro se o operando for Falso Retorna Falso de outra forma | |||
|  | 
 | |||
|  | não é um | |||
|  | 
 | |||
|  | #### Operadores de Associação
 | |||
|  | 
 | |||
|  | Um operador de associação é usado para identificar a associação em qualquer sequência (listas, cadeias de caracteres, tuplas). `in` e `not in` são operadores de associação | |||
|  | 
 | |||
|  | `in` retorna True se o valor especificado for encontrado na sequência. Retorna False caso contrário. `not in` retornado True se o valor especificado não for encontrado na seqüência. Retorna False caso contrário. | |||
|  | 
 | |||
|  | ###### Exemplo de uso
 | |||
|  | 
 | |||
|  | ```py | |||
|  | a = [1,2,3,4,5]  | |||
|  |   | |||
|  |  #Is 3 in the list a?  | |||
|  |  print 3 in a # prints True  | |||
|  |   | |||
|  |  #Is 12 not in list a?  | |||
|  |  print 12 not in a # prints True  | |||
|  |   | |||
|  |  str = "Hello World"  | |||
|  |   | |||
|  |  #Does the string str contain World?  | |||
|  |  print "World" in str # prints True  | |||
|  |   | |||
|  |  #Does the string str contain world? (note: case sensitive)  | |||
|  |  print "world" in str # prints False  | |||
|  |   | |||
|  |  print "code" not in str # prints True  | |||
|  | ``` | |||
|  | 
 | |||
|  | #### Operadores de Identidade
 | |||
|  | 
 | |||
|  | Um operador de identidade é usado para verificar se duas variáveis compartilham o mesmo local de memória. `is` e `is not` são operadores de identidade | |||
|  | 
 | |||
|  | `is` retorna true se o operandos se referir ao mesmo objeto. Retorna False caso contrário. `is not` retorna True se os operandos não se referirem ao mesmo objeto. Retorna False caso contrário. | |||
|  | 
 | |||
|  | Por favor note que dois valores, quando iguais, não implicam que sejam idênticos. | |||
|  | 
 | |||
|  | ###### Exemplo de uso
 | |||
|  | 
 | |||
|  | ```py | |||
|  | a = 3  | |||
|  |  b = 3  | |||
|  |  c = 4  | |||
|  |  print a is b # prints True  | |||
|  |  print a is not b # prints False  | |||
|  |  print a is not c # prints True  | |||
|  |   | |||
|  |  x = 1  | |||
|  |  y = x  | |||
|  |  z = y  | |||
|  |  print z is 1 # prints True  | |||
|  |  print z is x # prints True  | |||
|  |   | |||
|  |  str1 = "FreeCodeCamp"  | |||
|  |  str2 = "FreeCodeCamp"  | |||
|  |   | |||
|  |  print str1 is str2 # prints True  | |||
|  |  print "Code" is str2 # prints False  | |||
|  |   | |||
|  |  a = [10,20,30]  | |||
|  |  b = [10,20,30]  | |||
|  |   | |||
|  |  print a is b # prints False (since lists are mutable in Python)  | |||
|  | 
 | |||
|  | ``` |