Bird
Raised Fist0
Pythonprogramming~10 mins

Identity operators (is, is not) in Python - Interactive Code Practice

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to check if two variables refer to the same object using the identity operator.

Python
result = (a [1] b)
print(result)
Drag options to blanks, or click blank then click option'
Ais
B==
C!=
Dis not
Attempts:
3 left
💡 Hint
Common Mistakes
Using '==' instead of 'is' to check identity.
Using '!=' or 'is not' when the question asks for identity check.
2fill in blank
medium

Complete the code to check if two variables do NOT refer to the same object using the identity operator.

Python
if x [1] y:
    print("Different objects")
else:
    print("Same object")
Drag options to blanks, or click blank then click option'
Ais
B==
C!=
Dis not
Attempts:
3 left
💡 Hint
Common Mistakes
Using '!=' which checks value inequality, not identity.
Using 'is' instead of 'is not' for checking different objects.
3fill in blank
hard

Fix the error in the code to correctly check if two lists are the same object.

Python
list1 = [1, 2, 3]
list2 = list1
print(list1 [1] list2)
Drag options to blanks, or click blank then click option'
A==
B!=
Cis
Dis not
Attempts:
3 left
💡 Hint
Common Mistakes
Using '==' which checks value equality, not identity.
Using 'is not' or '!=' which check for inequality.
4fill in blank
hard

Fill both blanks to create a dictionary comprehension that includes only items where the key is not the same object as the value and the value is None.

Python
filtered = {k: v for k, v in data.items() if k [1] v and v [2] None}
Drag options to blanks, or click blank then click option'
Ais not
Bis
C!=
D==
Attempts:
3 left
💡 Hint
Common Mistakes
Using '!=' instead of 'is not' for identity check.
Using '==' instead of 'is' to check for None.
5fill in blank
hard

Fill all three blanks to create a dictionary comprehension that maps uppercase keys to values only if the key is the same object as the value and the value is not None.

Python
result = {k[1]: v for k, v in items if k [2] v and v [3] None}
Drag options to blanks, or click blank then click option'
A.upper()
Bis
Cis not
D.lower()
Attempts:
3 left
💡 Hint
Common Mistakes
Using '.lower()' instead of '.upper()' for keys.
Using '==' or '!=' instead of 'is' or 'is not' for identity checks.

Practice

(1/5)
1. What does the is operator check in Python?
easy
A. If two variables are of the same type
B. If two variables have the same value
C. If two variables point to the same object
D. If two variables are both numbers

Solution

  1. Step 1: Understand the is operator

    The is operator checks whether two variables refer to the exact same object in memory.
  2. Step 2: Differentiate from equality

    Unlike ==, which checks if values are equal, is checks identity, meaning the same object.
  3. Final Answer:

    If two variables point to the same object -> Option C
  4. Quick Check:

    is checks object identity = C [OK]
Hint: Remember: is means same object, not just equal value [OK]
Common Mistakes:
  • Confusing is with ==
  • Thinking is checks value equality
  • Assuming is works like type comparison
2. Which of the following is the correct syntax to check if variable a is not the same object as b?
easy
A. a != b
B. a is not b
C. a not is b
D. a !== b

Solution

  1. Step 1: Identify the correct identity operator

    The operator to check if two variables are not the same object is is not.
  2. Step 2: Check syntax correctness

    a is not b is the correct syntax; other options are either value comparison or invalid syntax.
  3. Final Answer:

    a is not b -> Option B
  4. Quick Check:

    Correct syntax for identity not equal = D [OK]
Hint: Use is not to check different objects, not != [OK]
Common Mistakes:
  • Using != instead of is not
  • Writing not is which is invalid
  • Using JavaScript style !== in Python
3. What will be the output of this code?
list1 = [1, 2, 3]
list2 = list1
list3 = [1, 2, 3]
print(list1 is list2)
print(list1 is list3)
medium
A. True\nFalse
B. True\nTrue
C. False\nTrue
D. False\nFalse

Solution

  1. Step 1: Analyze list1 is list2

    Since list2 = list1, both point to the same object, so this is True.
  2. Step 2: Analyze list1 is list3

    list3 is a new list with the same values but a different object, so this is False.
  3. Final Answer:

    True\nFalse -> Option A
  4. Quick Check:

    Same object check = True, different object = False [OK]
Hint: Same variable means is True; identical values but new object means False [OK]
Common Mistakes:
  • Assuming identical lists are the same object
  • Confusing is with ==
  • Ignoring that assignment copies reference, not value
4. Find the error in this code snippet:
a = None
if a is not None:
    print("Value exists")
else
    print("No value")
medium
A. Missing colon after else
B. Wrong use of is not
C. None should be in quotes
D. Indentation error

Solution

  1. Step 1: Check syntax of if-else statement

    The else line is missing a colon at the end, which is required in Python.
  2. Step 2: Verify other parts

    The use of is not with None is correct, and None is a keyword, so no quotes needed. Indentation looks fine.
  3. Final Answer:

    Missing colon after else -> Option A
  4. Quick Check:

    Colon needed after else = A [OK]
Hint: Always put a colon after else in Python [OK]
Common Mistakes:
  • Forgetting colon after else
  • Using quotes around None
  • Misusing is not operator
5. You want to check if a variable x is exactly None before processing it. Which is the best way to do this?
hard
A. if x is not None:
B. if x == None:
C. if x != None:
D. if x is None:

Solution

  1. Step 1: Understand the difference between == and is for None

    None is a singleton object in Python. The recommended way to check for it is using is because it checks identity.
  2. Step 2: Choose the correct condition for checking if x is None

    if x is None: correctly checks if x points to the None object.
  3. Final Answer:

    if x is None: -> Option D
  4. Quick Check:

    Use is None to check for None [OK]
Hint: Always use is None to check for None [OK]
Common Mistakes:
  • Using == None instead of is None
  • Using is not None when checking for None
  • Confusing identity with equality for None