[Tutor] if n == 0 vs if not n

Dave Angel davea at ieee.org
Tue Oct 6 02:23:29 CEST 2009


Vern Ceder wrote:
> <div class="moz-text-flowed" style="font-family: -moz-fixed">Hi Sander,
>
> PEP 8, the "Style Guide for Python Code"
> http://www.python.org/dev/peps/pep-0008/ is pretty clear that the
> shorter version is preferable:
>
> if s:
>
> if n:
>
> if b:
>
> if not b:
>
> and so on...
>
> Cheers,
> Vern
>
> Sander Sweers wrote:
>> Hi Tutors,
>>
>> I am going through someone's python script and I am seeing a lot of the
>> following boolean checks.
>>
>> if not s == ""
>>
>> if not n == 0
>>
>> if b == True
>>
>> if not b == True
>>
>> etc..
>>
>> All of these can be written without the == notation like "if n", "if s"
>> etc.
>>
>> Now in this case where it is only used as boolean checks which would be
>> the most pythonic way if writing these checks?
>>
>> Thanks
>> Sander
>>
>> _______________________________________________
>> Tutor maillist  -  Tutor at python.org
>> To unsubscribe or change subscription options:
>> http://mail.python.org/mailman/listinfo/tutor
>
The shorter version may be preferable, but it doesn't generally give the 
same results.  Without knowing the possible data, these substitutions 
are not safe.

For example, replacing       "if not n == 0"    with     "if n"

will give different results for values of "", []   and so on.     It 
WILL work if you know that n is an int or float, however.

DaveA


More information about the Tutor mailing list