Passing a callable object to Thread
Tue Feb 19 01:00:43 CET 2008
Jeff Schwab <jeff at schwabcenter.com> writes:
> >> In CS, a tuple is a kind of data structure that is specifically not
> >> identical with any of its elements. That's the sort of tuple used in
> >> Python.
The usual CS meaning of "tuple" is more like the physics meaning than
like the Python meaning, I think.
> >>>> (a,) is (a,)
> > False
> The tuple on the left is not identical with the tuple on the right,
> even though they are equivalent.
Implementation artifact. It could be constant folded.
x = (a,)
y = x
x is y
should print True.
> An interesting thing about Python is that numbers of built-in types
> are flyweights. Unlike literals of non-flyweight types, distinct
> instances of a given numeric literal actually refer to the same object:
> >>> 5 is 5
> >>> 999999999999999999999999999999 is 999999999999999999999999999999
> >>> 3.5 is 3.5
Again an implementation artifact, not guaranteed by the language. Try:
(5+1) is (5+1)
(999999999999999999999999999999+1) is (999999999999999999999999999999+1)
More information about the Python-list