Alex Hall wrote:
On 12/4/10, Alan Gauld <alan.ga...@btinternet.com> wrote:
"Steven D'Aprano" <st...@pearwood.info> wrote
for i in (1, 2, 3):
... print(i, "spam", end="\n" if i==3 else "***")
Ooooh! A new trick.
I hadn't thought of using the conditional expression there but it
makes a lot of sense.
Definitely more fun and flexible than the old comma at the end of a
print in v2 :-)
So is this a python3.x feature only? Is there an equivallent in 2.x? I
had not realized if statements could be used in calling functions like
that or that they could be arranged in that way, but I am sticking to
python2 since most packages are still written for it.
Python has had "if" expressions (also known as the ternary operator)
since Python2.5. You can write:
true_value if condition else false_value
anywhere that will accept an expression. E.g.:
len("chicken" if today == tuesday else "fish")
Since Python2.6, you can get the print function by using:
from __future__ import print_function
Note that there are TWO underscores at the start and end of
"__future__", and that like all __future__ imports it must be the first
executable line of your script or module.
--
Steven
_______________________________________________
Tutor maillist - Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor