>>> x = ()
>>> type(x)
tuple
I've always thought of , as the tuple literal 'constructor,' because, in every other situation, creating a tuple literal requires a comma, (and parentheses seem to be almost superfluous, except perhaps for readability):
>>> y = (1)
>>> type(y)
int
>>> z = (1,)
>>> type(z)
tuple
>>> a = 1,
>>> type(a)
tuple
Why is () the exception? Based on the above, it seems to make more sense for it to return None. In fact:
>>> b = (None)
>>> type(b)
NoneType