#一、对象的固有属性:真或是假
"""
真、假规则:
1、数字如果非0,则为真
2、对象如果非空,则为真
3、None类型为假
"""
"""
对象属性为假的列表:
运行结果:False False False False False False
"""
boolType = ["",[],{},0,0.0,None]
for item in boolType:
if not item:
print "False",
if [None,None]:#True
print "True"
#二、使用内置的bool函数测试对象的真值属性
"""
输出结果:
True True True True False False
"""
ins = ['1',1,[1],{0:0},None,[]]
for i in ins:
print bool(i),
#三、布尔and/or/not运算
"""
运算规则:
X and Y :若X、Y均为真,则结果为真
X or Y:若X或Y为真,则结果为真
not X:若X为假,则结果为真
"""
"""
注意事项:
1、X和Y可以是任何真值或返回真值的表达式
2、布尔and和or运算符在Python中会返回真或假的对象,而不是True或False。
"""
"""
输出结果:3 1 3 {}
or返回值逻辑:(短路运算)
1、python会从左至右求算操作对象,然后返回第一个为真的操作对象。
2、python在找到第一个真值操作数的地方停止。
3、如果操作数均为假,返回最后一个为假的操作数
"""
print 3 or 2,0 or 1,[] or 3,[] or {}
"""
输出结果:2 3 [] {}
and返回值逻辑:(短路运算)
1、python会从左至右求算操作对象,然后返回第一个为假的操作对象。
2、python在找到第一个为假操作数的地方停止。
3、如果操作数均为真,返回最后一个为真的操作数
"""
print 3 and 2,2 and 3,[] and {},2 and {}
#四、if/else三元表达式
#A = Y if X else Z
"""
输出结果:
T f
"""
A = 'T' if "spam" else 'f'
B = 'T' if "" else 'f'
print A,B
#使用序列索引取值的方式
print ['T','f'][bool("")],
print ['T','f'][bool('spam')]
python的真值
最新推荐文章于 2023-10-23 11:04:15 发布