a = 10
b = 20
if (a and b):
print("1 - 变量a 和 b 都为True")
else:
print("1 - 变量 a 和 b 有一个不为true")
if( a or b):
print("2 - 变量 a和b都为 true,或其中一个变量为 true")
else:
print("2 - 变量 a和b都不为 true")
#修改变量 a 的值
a = 0
if ( a and b ):
print("3 - 变量a 和 b 有一个都为 true")
else:
print("3 - 变量 a 和 b 有一个不为 true")
if( a or b):
print("4 - 变量 a 和 b 都为true,或其中一个变量为 true")
else:
print("4 - 变量 a 和 b 都不为true")
if not(a and b):
print("5 - 变量 a 和 b 都为false,或其中一个变量为false")
else:
print("5 - 变量 a 和 b 都为true")
上图是python代码,逻辑运算符 是 or(逻辑或)、and(逻辑与)、not(逻辑非)
运算结果:
1 - 变量a 和 b 都为True
2 - 变量 a和b都为 true,或其中一个变量为 true
3 - 变量 a 和 b 有一个不为 true
4 - 变量 a 和 b 都为true,或其中一个变量为 true
5 - 变量 a 和 b 都为false,或其中一个变量为false
纠结了许久"为什么1的结果是true,是不是非0即为真?",
最后找到数值类型的布尔值才解决我的疑惑。
布尔值类型
#bool 布尔值 #True 真 , False 假
####数值类型转换成布尔值类型 bool(数值)
##只有0是False , 非0是True
print(bool(0)) # False 只有0是False
print(bool(1)) # True 非0是真
####字符串转换成布尔值类型 bool(字符串)
##空的字符串为False ,非空字符串为True
print(bool('')) # 空字符串 False
print(bool("abc")) # 非空字符串 True
####布尔值类型转换成字符串类型 str(布尔值)
print(str(True)) # 转换成字符串 True
print(type(str(False)))# 查看类型<class 'str'>
####布尔类型转换成数值类型 int(布尔值)
print(int(True)) # 转成int 1
print(type(int(False))) #<class 'int'>