More random python observations from a perl programmer
Andrew Csillag
andrew at starmedia.net
Thu Aug 19 16:31:02 EDT 1999
Tom Christiansen wrote:
>
> As for the tuple thing, why can I say
>
> print "You have $%0.2f bucks" % (4.5/100)
>
> How is that a singleton tuple?
It's not. For format strings, if the item (here 4.5/100) is a single
thing, the items need not be a tuple. i.e.
"You have $%0.2f bucks" % 234.234
but if you want more than one item to be formatted, you have to use a
tuple
"you're name is %s and you have $%0.2f" % ("Tom", 234.234)
> Don't I have to use
> a trailing comma? It won't let me! Why is
>
> print "You have $%0.2f bucks" % (4.5/100,)
>
> illegal,
No, it's perfectly fine. Didn't try it, I guess.
>>> print "You have $%0.2f bucks" % (4.5/100,)
You have $0.04 bucks
>>>
but
>
> print "You have $%0.2f bucks" % ((4.5/100,) * 2)
This, on the other hand is wrong since ((4.5/100,) * 2) yields (0.045,
0.045) and you only have one formatting bit in the string (only 1
%0.2f). If you had
print "The New York Lotto jackpot is now $%0.2f bucks... $%0.2f" %
((4.5/100,) * 2)
That totally works.
>
> mandatory? Was this (elt,) thing just an, er, unforeseen design
> misfeature? Yes, I tripped me up again. :-(
Try reading the docs...
--
"Programmers are just machines that convert coffee to executable code"
-Unknown
"Drew Csillag" <drew_csillag at geocities.com>
More information about the Python-list
mailing list