Are there any uses of the empty tuple in Python?
Is there any other purpose (besides being there because it needs to be) the empty tuple may have? Or: what would you use th开发者_如何学Ce empty tuple for? If anything. I just can't find an answer (well, a positive answer as in: "yes, there is"), please help me out with getting this question out of my head. "for testing if another tuple is empty" is not an acceptable answer since we should use 'not' operator for this.
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.
精彩评论