On Tue, 12 Sep 2017 23:20:21 -0700, Rick Johnson wrote:

> Steven D'Aprano wrote:
>> Rick Johnson wrote:
>> 
>> 
>> > But just because we have been trained that the implicit `if x:` is
>> > shorthand for the reasonable `if bool(x) == True:`
>> 
>> That's not reasonable.  bool(x) already returns a True or False flag,
>> comparing it to True is superfluous.
> 
> So what? That's a simple matter of translating source code to byte code

Who cares about the byte code? We don't read or write byte code.

The *source code* you wrote is dumb. It displays an appalling lack of 
understanding of Python's semantics, and poor reasoning about even the 
simplest logical tests. Here's another person's comments:

"When I see someBool == true, I can't help but feel like the programmer 
hasn't internalized the idea of evaluation, which is a pretty fundamental 
deficiency."

https://softwareengineering.stackexchange.com/posts/12828/revisions


You might as well write:

if (x is True) and (True is True):  # just in case True is False


In plain English terms, you are doing the equivalent of saying:

"Is (is that true?) true?"

Who talks like that?

Why should we write code like that?



-- 
Steven D'Aprano
“You are deluded if you think software engineers who can't write 
operating systems or applications without security holes, can write 
virtualization layers without security holes.” —Theo de Raadt
-- 
https://mail.python.org/mailman/listinfo/python-list

Reply via email to