在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, 0
print('{} or {} = {}'.format(x, y, x or y))
x1, y1 = 0, 10
print('{} or {} = {}'.format(x1, y1, x1 or y1))
x2, y2 = 0, 0
print('{} 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, 10
print('{} and {} = {}'.format(x1, y1, x1 and y1))
x2, y2 = 0, 0
print('{} and {} = {}'.format(x2, y2, x2 and y2))
print('#' * 50)
print('not x -> if x is false,then true,else false ')
x = 2
print('not {} = {}'.format(x, not x))
x = 0
print('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
>>>