Skip to content

A simple explanation and comparison between Python’s is and in operators with examples to understand their differences in real-world scenarios.

Notifications You must be signed in to change notification settings

muhammadwaheedairi/python-is-vs-in-operators

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 

Repository files navigation

🔍 Python Operators: is vs in

Understanding the difference between is and in in Python is really important — especially when you're trying to write clean and bug-free code. In this short guide, I’ve shared my learning and examples that helped me understand how these two operators work differently.


✅ What is the is Operator?

The is operator checks identity, not equality.

  • It returns True if two variables refer to the same object in memory.
  • It’s often used to check if something is None.
a = [1, 2, 3]
b = a
c = [1, 2, 3]

print(a is b)  # True – same memory reference
print(a is c)  # False – different objects even if content is same

🔸 Use is when you care about object identity, not just if values match.

A good use case:

x = None
if x is None:
    print("x has no value")

✅ What is the in Operator?

The in operator checks membership — it tells you if a value exists inside a list, string, tuple, dictionary, etc.

fruits = ["apple", "banana", "cherry"]

print("banana" in fruits)  # True
print("grape" in fruits)   # False

It also works with strings:

text = "hello world"
print("world" in text)  # True
print("python" in text) # False

🔁 Side-by-Side Comparison

Expression Description Output
a is b True if a and b are same object True
a == b True if a and b have same value True
x in y True if x is inside container y True/False

⚠️ Common Mistakes

  • ❌ Using is to compare values:

    a = 1000
    b = 1000
    print(a is b)  # Might be False even though a == b
  • ✅ Use == when comparing values, and use is for identity:

    print(a == b)  # True
  • ✅ Always use is None, not == None.


🧠 Final Thoughts

  • Use is when comparing with None or checking identity.
  • Use in to check if a value exists inside something.
  • Don't mix them up — Python won’t stop you, but your bugs will get harder to find!

About

A simple explanation and comparison between Python’s is and in operators with examples to understand their differences in real-world scenarios.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published