I am new to python. I have a few questions coming from an armature!
Marko Rauhamaa
marko at pacujo.net
Wed Aug 17 14:43:41 EDT 2016
Terry Reedy <tjreedy at udel.edu>:
> On 8/17/2016 2:39 AM, Steven D'Aprano wrote:
> "If I finish work on on time, go to the movies, otherwise just go home."
> is also real English syntax, and to me, more graceful. It is certainly
> more neutral among the alternatives. The inverted version implies a
> clear preference for the first alternative.
>
> It would be an interesting exercise to see which order for ternary
> expressions is more common in some large corpus of English text.
Python's ternary expression has a distinct Perl flavor to it. However,
the problem with the "then" keyword was valid. Also, Python's
comprehensions already had a postfix "if".
Personally, I'd normally steer clear of ternary conditionals both in C
and Python.
This reminds me of a discussion I had yesterday about why Scheme can't
implement a proper try/finally construct. That's because Scheme supports
continuations; nothing is really final. Python would gain a similar
power if there were a way to cancel exceptions:
try:
do_something()
except ValueError:
retry 123
where:
def do_something():
def_value = raise ValueError
a += def_value
What Python would then need is a try/nevermind:
resource = grab_it()
while True:
try:
resource.operate()
finally:
resource.release()
break
nevermind:
resource.take_back()
Marko
More information about the Python-list
mailing list