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 
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								```
							 |