Test 0 and false since false is 0
On 2017-07-11, Albert-Jan Roskam <sjeik_appie at hotmail.com> wrote:
> From: Python-list <python-list-bounces+sjeik_appie=hotmail.com at python.org> on behalf of Dan Sommers <dan at tombstonezero.net>
> Sent: Friday, July 7, 2017 2:46 AM
> To: python-list at python.org
> Subject: Re: Test 0 and false since false is 0
> On Thu, 06 Jul 2017 19:29:00 -0700, Sayth Renshaw wrote:
>> I have tried or conditions of v == False etc but then the 0's being
>> false also aren't moved. How can you check this at once?
> Maybe this will help:
> ??? Python 3.5.3+ (default, Jun? 7 2017, 23:23:48)
> ??? [GCC 6.3.0 20170516] on linux
> ??? Type "help", "copyright", "credits" or "license" for more information.
> ??? >>> False == 0
> ??? True
> ??? >>> False is 0
> ??? False
> Just wondering: Is this 'is' test depending on an implementation
> detail of cPython (small ints, I forgot how small 0-255 maybe, are
False is required to be a singleton.
Therefore, if you want to know if <whatever> is the boolean object
False, you can use '<whatever> is False' with predictable results..
Integer values are not required to be singletons, so you cannot depend
on the value of <whatever> is 0, or <whatever> is 12345678. As you
mention, in the current version(s) of CPython, small integer values
are cached, but larger ones are not:
Python 2.7.12 (default, Jan 3 2017, 10:08:10)
[GCC 4.9.4] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> x = 0
>>> x is 0
>>> x = 12345678
>>> x is 12345678
That could change tomorrow.
Grant Edwards grant.b.edwards Yow! PEGGY FLEMMING is
at stealing BASKET BALLS to
gmail.com feed the babies in VERMONT.