I thought everything below would evaluate to False. Can someone explain what is going on? Don't immutable constructors create new objects (and new ids)? How can the tuple have the same id and be different objects?
print((1,) is (1,))
print(id(1,) == id(1,))
print('a' is 'a')
print(id('a') == id('a'))
Result:
False
True
True
True