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