27 lines
		
	
	
		
			665 B
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			27 lines
		
	
	
		
			665 B
		
	
	
	
		
			Markdown
		
	
	
	
	
	
---
 | 
						|
title: Difference between Python 'is' and '==' operators
 | 
						|
---
 | 
						|
`is` is a check for object identity - ie, checking if two or more variables are referring to the same object. You can't overload `is`.
 | 
						|
 | 
						|
`==` evaluates to true if object referred to by the variables are equal. You can overload `==` via the `__eq__` operator.
 | 
						|
 | 
						|
 | 
						|
## Return Value
 | 
						|
 | 
						|
The return value for both would be either `True` or `False`.
 | 
						|
 | 
						|
## Code Sample
 | 
						|
 | 
						|
    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
 | 
						|
 |