def foo():
if a:
return
if B:
return
if C:
return
do_stuff()
Vs
def foo():
return if a
return if B
return if C
do_stuff
The second is much more compact
is compact good ?!?
if A: return
Well, I'm strongly against these non-indented blocks in python
But why? you nseem to theink the more compact Ruby version is better, so why not the more compact Python version -- the only difference is a colon, and the order:
def foo():
if a: return if B: return
if C: return
which is equally compact, and puts the "meat" of the code up front, which feels more clear and obvious to me.
I do use this form myself, in just this situation, where there are multiple cases, and it is compact enough that the return doesn't get lost. That is, I would not do:
if ( A and B) or (this > that) and (something in everything): return
in that case, the return gets lost out at the end -- even if you don't go beyond 72 chars.
anyway, even if it's a slight be more readable to some, it is not worth changing Python over.
-CHB
I love the do_stuff if cond syntax in Ruby and in perl. It's very natural to real, much more to follow than if cond: do_stuff
I on the other hand hate that syntax and find it harder to read.
Why put the code out of sequence?
if read_this_1st: read_this_2nd()
vs. this that I think of as out of sequence order
read_this_2nd() if not read_this_1st
Barry
_______________________________________________
Python-ideas mailing list -- python-ideas@python.org
To unsubscribe send an email to python-ideas-leave@python.org
https://mail.python.org/mailman3/lists/python-ideas.python.org/
Message archived at https://mail.python.org/archives/list/python-ideas@python.org/message/3QILG6Z6V2TGDIRGQFVGTOWGNO4R7KWR/
Code of Conduct: http://python.org/psf/codeofconduct/