Python Forum
difference between != and is not
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
difference between != and is not
#1
hi
I wrote the below code in vs code and it took an error in line 7 but in idle the code ran okay:
 '''a test for regex
'''

import re
REGEX = r"(?im:foo),\w+"
m = re.search(REGEX, 'FOo,bar_baz')
if m is not None: # i first had written m != None,
    # Comparison 'm != None' should be 'm is not None'
    print(f'm.group(0): {m.group(0)}')
else:
    print(f'result of match is: {m}')
in line 7 as you can see, I first wrote
 m!==None
and vs code took an error and suggested to me
to change to
 m is not None
.
what is the difference between !== and is not?
thanks
Reply
#2
None is a singleton. There is only one None object. is/is not None checks if an object is the None object or not. Checking ihe value, which is what != does, is superfluous. No object other than None wiill == None.

In addition to None, True and False are singltons and you should never test ==True or == False, but rather is True or is False. Well, you should not do that either unless you really want to know if something is the True object or the False object.
akbarza likes this post
Reply


Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020