Passing a callable object to Thread
castironpi at gmail.com
castironpi at gmail.com
Mon Feb 18 23:39:19 CET 2008
On Feb 18, 4:26 pm, Jeff Schwab <j... at schwabcenter.com> wrote:
> Lie wrote:
> > On Feb 16, 12:29 pm, Jeff Schwab <j... at schwabcenter.com> wrote:
> >> Paul Rubin wrote:
> >>> Jeff Schwab <j... at schwabcenter.com> writes:
> >>>> Why not? They seem intuitive to me. I would find it weird if you
> >>>> couldn't have 0-tuple, and even weirder if you couldn't have a
> >>>> 1-tuple. Maybe my brain has been warped by too much C++ code.
> >>> The idea is that a 2-tuple (of numbers, say) is a pair of numbers, a
> >>> 3-tuple is three numbers, and a 1-tuple is one number. That would
> >>> mean a number and a 1-tuple of numbers are the same thing, not
> >>> separate types.
> >> No, that doesn't follow. A set with one element is not the same thing
> >> as that element, a sequence of one element is not the same thing as that
> >> element, and a tuple with one element is not the same thing as that element.
>
> > Probably the analogue of tuples in human language would be like this:
> > A: What ice-cream flavour do you have?
> > B: "Vanilla", "Chocolate", and "Strawberry"
>
> > If, for example, he only have Vanilla:
> > A: What ice-cream flavour do you have?
> > B: "Vanilla"
>
> > This way of thinking makes 1-tuple the same as the element itself.
>
> Yes. I first heard the term "tuple" in a physics class, where it was
> used to mean that a mathematical function took an arbitrary number of
> objects. It was by analog with "triple, quadruple, quintuple...
> n-tuple." That's a different context than computer science, though,
> which is a specific branch of mathematics with its own terminology. 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.- Hide quoted text -
>>> a= object()
>>> (a,) is a
False
>>> (a,) is (a,)
False
>>> a is a
True
>>> (a,) == (a,)
True
>>> a= []
>>> a.append( a )
>>> a
[[...]]
>>> tuple(a) is tuple(a)
False
hasVanilla= True
hasStrawberry= True
hasChocolate= True
if hasVanilla:
print "Vanilla"
if hasVanilla and not hasChocolate:
print "and"
if hasStrawberry:
print "Strawberry"
if hasVanilla or hasStrawberry and hasChocolate:
print "and"
if hasChocolate:
print "Chocolate."
More information about the Python-list
mailing list