python开发_python中的Boolean运算和真假值
python中的真假值:
Any object can be tested for truth value, for use in an if or while condition or as operand of the Boolean operations below. The following values are considered false: 1.None 2.False 3.zero of any numeric type, for example, 0, 0.0, 0j. 4.any empty sequence, for example, '', (), []. 5.any empty mapping, for example, {}. 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. [1] All other values are considered true — so objects of many types are always true. Operations and built-in functions that have a Boolean result always return 0 or False for false and 1 or True for true, unless otherwise stated. (Important exception: the Boolean operations or and and always return one of their operands.)
总结:
#在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运算如下:
1 print('x or y -> if x is false,then y, else x ') 2 x, y = 2, 0 3 print('{} or {} = {}'.format(x, y, x or y)) 4 x1, y1 = 0, 10 5 print('{} or {} = {}'.format(x1, y1, x1 or y1)) 6 x2, y2 = 0, 0 7 print('{} or {} = {}'.format(x2, y2, x2 or y2)) 8 9 print('#' * 50) 10 print('x and y -> if x is false,then x, else y ') 11 print('{} and {} = {}'.format(x, y, x and y)) 12 x1, y1 = 0, 10 13 print('{} and {} = {}'.format(x1, y1, x1 and y1)) 14 x2, y2 = 0, 0 15 print('{} and {} = {}'.format(x2, y2, x2 and y2)) 16 17 print('#' * 50) 18 print('not x -> if x is false,then True,else False ') 19 x = 2 20 print('not {} = {}'.format(x, not x)) 21 x = 0 22 print('not {} = {}'.format(x, not x))
运行效果:
Python 3.3.2 (v3.3.2:d047928ae3f6, May 16 2013, 00:03:43) [MSC v.1600 32 bit (Intel)] on win32 Type "copyright", "credits" or "license()" for more information. >>> ================================ RESTART ================================ >>> x or y -> if x is false,then y, else x 2 or 0 = 2 0 or 10 = 10 0 or 0 = 0 ################################################## x and y -> if x is false,then x, else y 2 and 0 = 0 0 and 10 = 0 0 and 0 = 0 ################################################## not x -> if x is false,then True,else False not 2 = False not 0 = True >>>