[Python-Dev] conditional expressions - add parens? (original) (raw)
Tim Peters tim.peters at gmail.com
Tue Mar 7 05:47:06 CET 2006
- Previous message: [Python-Dev] conditional expressions - add parens?
- Next message: [Python-Dev] conditional expressions - add parens?
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
[Jim Jewett]
I think that adding parentheses would help, by at least signalling that the logic is longer than just the next (single) expression.
level = (0 if "absoluteimport" in self.futures else -1)
[Steve Holden]
Contrast with the bleeding obvious:
level = 0 if "absoluteimport" in self.futures: level = -1 or even, if a certain obscurity is desirable: level = - ("absoluteimport" in self.futures)
In honor of Peter Naur receiving the 2005 Turing Award:
<http://campus.acm.org/public/pressroom/press_releases/3_2006/turing_3_01_2006.cfm>
and remembering Python's Algol roots, I'd like to constrast it with the truly obvious:
level = (if "absolute_import" in self.futures then 0 else -1)
That way also has the minor advantage of computing the same value for
level
as Jim's code ;-)
[Joe Smith]
Wait a second.
I may be just a user but if the above is correct then that syntax needs to die! There is no logical reason for "XX if YY else ZZ" to be roughly equivlent to: "if (YY) then {ZZ} else {XX}" , but AFAICT that is pretty much the way you expanded that.
Ya, Steve just got it backwards. "(X if Y else Z)" is the same as "(if Y then X else Z)", except for the excessive novelty. The obvious spelling would require making "then" a keyword, which is actually OK with everyone :-)
I hope I misunderstood, or that there was a typo in a post.
You were lucky this time, bucko, but don't ever go questioning a python-dev regular again ;-)
- Previous message: [Python-Dev] conditional expressions - add parens?
- Next message: [Python-Dev] conditional expressions - add parens?
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]