python 中的True和1及False和0是可以等价比较及是否是bool类型

1、True和1及False和0是可以等价比较


[root@10.144.5.223 root]# cat test_true_false.py

ok=0
if ok:
    print ok
ok=1

if ok:
    print ok
ok=True

if ok:
    print ok
ok=False

if ok:
    print ok

print '*'*20

ok=0
if ok == False:
    print ok

ok=1
if ok == True:
    print ok

ok=False
if ok ==0:
    print ok

ok=True
if ok == 1:
    print ok
[root@10.144.5.223 root]#

[root@10.144.5.223 root]# python test_true_false.py
1
True
********************
0
1
False
True
[root@10.144.5.223 root]#



2、判断 1、0和True、False 是否是bool类型


>>> a=0
>>> type(a)
<type 'int'>
>>>
>>> type(a) is bool
False
>>>
>>> a=1
>>>
>>> type(a)
<type 'int'>
>>>
>>> type(a) is bool
False
>>>
>>>
>>> type(1)
<type 'int'>
>>> type(1) is bool
False
>>>




>>> a=True
>>> type(a)
<type 'bool'>
>>>
>>> type(a) is bool
True
>>>
>>> a=False
>>>
>>> type(a)
<type 'bool'>
>>> type(a) is bool
True
>>>