<div dir="ltr"><div class="gmail_default" style="color:#000000"><br></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Tue, Jun 4, 2013 at 11:44 AM, Rick Johnson <span dir="ltr"><<a href="mailto:rantingrickjohnson@gmail.com" target="_blank">rantingrickjohnson@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im"><br></div>
This implicit conversion seems like a good idea at first,<br>
and i was caught up in the hype myself for some time: "Hey,<br>
i can save a few keystrokes, AWESOME!". However, i can tell<br>
you with certainty that this implicit conversion is folly.<br>
It is my firm belief that truth testing a value that is not<br>
a Boolean should raise an exception. If you want to convert<br>
a type to Boolean then pass it to the bool function:<br>
<br>
lst = [1,2,3]<br>
if bool(lst):<br>
do_something<br>
<br>
This would be "explicit enough"</blockquote><div><div class="gmail_default" style="color:rgb(0,0,0);display:inline"><br></div></div><div><font color="#000000">i<div style="color:rgb(0,0,0);display:inline" class="gmail_default">
f lst:</div></font></div><div><font color="#000000"><div style="color:rgb(0,0,0);display:inline" class="gmail_default"> do_something</div></font></div><div><font color="#000000"><div style="color:rgb(0,0,0);display:inline" class="gmail_default">
<br></div></font></div><div><font color="#000000"><div style="color:rgb(0,0,0);display:inline" class="gmail_default">is equivalent to</div></font></div><div><font color="#000000"><div style="color:rgb(0,0,0);display:inline" class="gmail_default">
<br></div></font></div><div><font color="#000000"><div style="color:rgb(0,0,0);display:inline" class="gmail_default">if bool(lst):</div></font></div><div><font color="#000000"><div style="color:rgb(0,0,0);display:inline" class="gmail_default">
do_something</div></font></div><div><font color="#000000"><div style="color:rgb(0,0,0);display:inline" class="gmail_default"><br></div></font></div><div><font color="#000000"><div style="color:rgb(0,0,0);display:inline" class="gmail_default">
why not just have your editor autobool so you can spend more time coding and less time stamping around? That way the person that finds booled code more readable can have what he wants and the people that find it less readable can have what they want.</div>
</font></div><div><font color="#000000"><div style="color:rgb(0,0,0);display:inline" class="gmail_default"><br></div></font></div><div><font color="#000000"><div style="color:rgb(0,0,0);display:inline" class="gmail_default">
Win-win</div></font></div><div><font color="#000000"><div style="color:rgb(0,0,0);display:inline" class="gmail_default"><br></div></font></div><div><font color="#000000"><div style="color:rgb(0,0,0);display:inline" class="gmail_default">
BTW, you should do pointless comparisons like</div></font></div><div><font color="#000000"><div style="color:rgb(0,0,0);display:inline" class="gmail_default"><br></div></font></div><div><font color="#000000"><div style="color:rgb(0,0,0);display:inline" class="gmail_default">
if condition is True:</div></font></div><div><font color="#000000"><div style="color:rgb(0,0,0);display:inline" class="gmail_default"> do_something</div></font></div><div><font color="#000000"><div style="color:rgb(0,0,0);display:inline" class="gmail_default">
<br></div></font></div><div><font color="#000000"><div style="color:rgb(0,0,0);display:inline" class="gmail_default">rather than</div></font></div><div><font color="#000000"><div style="color:rgb(0,0,0);display:inline" class="gmail_default">
<br></div></font></div><div><font color="#000000"><div style="color:rgb(0,0,0);display:inline" class="gmail_default">if condition == True</div></font></div><div><font color="#000000"><div style="color:rgb(0,0,0);display:inline" class="gmail_default">
do_something</div></font></div></div></div></div>