Is there any other purpose (besides being there because it needs to be) the empty tuple may have? Or: what would you use the empty tuple for? If anything. I just can\'t find
Here's when.
def tuple_of_primes_less_than( n ):
if n <= 2: return ()
else:
x, p = set( range(2,n) ), 2
while p <= max(x):
for k in range(2,int(2+math.sqrt(p))):
x.discard(k*p)
p += 1
return tuple( sorted( x ) )
You might want to store the arguments to a function as a tuple, without knowing the structure of the function in advance. If it happens that the function you need to store the parameters for takes no parameters, you will need to store an empty tuple.
This is just one among many examples of why it's generally better not to question the existence of edge cases, just because we can't think of a use for them. The need to support the edge case invariably crops up before long.
Tuples represent arbitrary sequences of values. When you need to describe an empty sequence of values, you can use an empty tuple.