在python中,任何对象都可以判断其真假值:True,False
在if或while条件判断中,下面的情况值为False:
1.None
2.Flase
3.数值为0的情况,如:0,0.0,0j
4.所有空序列,如:'',(),[]
5.所有空mapping,如:{}
6.instances of user-defined classes, if the class defines a __bool__() or __len__() method,
when that method returns the integer zero or bool value False.
All other values are considered true — so objects of many types are always true.
在运算操作和内建函数返回Boolean结果0或者Flase表示false
1或True表示true
python中的Boolean运算如下:
print('x or y -> if x is false,then y, else x ')x, y = 2, 0print('{} or {} = {}'.format(x, y, x or y))x1, y1 = 0, 10print('{} or {} = {}'.format(x1, y1, x1 or y1))x2, y2 = 0, 0print('{} or {} = {}'.format(x2, y2, x2 or y2)) print('#' * 50)print('x and y -> if x is false,then x, else y ')print('{} and {} = {}'.format(x, y, x and y))x1, y1 = 0, 10print('{} and {} = {}'.format(x1, y1, x1 and y1))x2, y2 = 0, 0print('{} and {} = {}'.format(x2, y2, x2 and y2)) print('#' * 50)print('not x -> if x is false,then True,else False ')x = 2print('not {} = {}'.format(x, not x))x = 0print('not {} = {}'.format(x, not x))
运行结果:
>>>
x or y -> if x is false,then y, else x
or 0 = 2
or 10 = 10
or 0 = 0
##################################################
x and y -> if x is false,then x, else y
and 0 = 0
and 10 = 0
and 0 = 0
##################################################
not x -> if x is false,then True,else False
not 2 = False
not 0 = True
>>>