python赋值运算符

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

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章