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