27 lines
		
	
	
		
			785 B
		
	
	
	
		
			Markdown
		
	
	
	
	
	
		
		
			
		
	
	
			27 lines
		
	
	
		
			785 B
		
	
	
	
		
			Markdown
		
	
	
	
	
	
|   | --- | |||
|  | title: Difference between Python 'is' and '==' operators | |||
|  | localeTitle: Diferença entre os operadores Python 'is' e '==' | |||
|  | --- | |||
|  | `is` é uma verificação da identidade do objeto - isto é, verificar se duas ou mais variáveis estão se referindo ao mesmo objeto. Você não pode sobrecarregar `is` . | |||
|  | 
 | |||
|  | `==` avalia como verdadeiro se o objeto referido pelas variáveis for igual. Você pode sobrecarregar `==` através do operador `__eq__` . | |||
|  | 
 | |||
|  | ## Valor de retorno
 | |||
|  | 
 | |||
|  | O valor de retorno para ambos seria `True` ou `False` . | |||
|  | 
 | |||
|  | ## Amostra de código
 | |||
|  | ``` | |||
|  | a = 2.3  | |||
|  |  a is 2.3  # => False  | |||
|  |  a == 2.3  # => True  | |||
|  |   | |||
|  |  a = [234,123,321]  | |||
|  |  b = [234,123,321]  | |||
|  |  a == b  # => True  | |||
|  |  a is b  # => False  | |||
|  |  a = b  | |||
|  |  a == b  # => True  | |||
|  |  a is b  # => True, because if we change a, b changes too  | |||
|  | 
 | |||
|  | ``` |