[Python-Dev] "and" and "or" operators in Py3.0
Michael Hudson
mwh at python.net
Tue Sep 20 10:11:36 CEST 2005
More information about the Python-Dev mailing list
Tue Sep 20 10:11:36 CEST 2005
- Previous message: [Python-Dev] "and" and "or" operators in Py3.0
- Next message: [Python-Dev] "and" and "or" operators in Py3.0
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
"Raymond Hettinger" <raymond.hettinger at verizon.net> writes: > I propose that in Py3.0, the "and" and "or" operators be simplified to > always return a Boolean value instead of returning the last evaluated > argument. -1 > 2) When going back and forth between languages, it is easy to forget > that only Python returns something other than a boolean. As others point out, this isn't true. > 3) Even when it isn't being used, the possibility of non-boolean return > value complicates the bytecode and parser. To allow for "and/or", the > conditional opcodes leave the tested value on the stack. Huh? I thought this was for chained expressions? Things like 1 < x < 3. I _like_ the explanation of 'and' and 'or' as they are now. They are basically control flow constructs -- and have to be to get short-circuiting to work -- and adding a coercion to bool at the end seems to add complexity, not reduce it (on some levels, anyway). > P.S. Simplifying "and" and "or" may create a need to introduce a > conditional operator but that is a discussion for another day. ... which was in the past, I thought. Cheers, mwh -- The meaning of "brunch" is as yet undefined. -- Simon Booth, ucam.chat
- Previous message: [Python-Dev] "and" and "or" operators in Py3.0
- Next message: [Python-Dev] "and" and "or" operators in Py3.0
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-Dev mailing list