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

AltStyle によって変換されたページ (->オリジナル) /