在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
>>>