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运算如下:
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))
运行效果:
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
>>>