day06--基本类型02与if判断
作者:互联网
一、可变不可变类型
# 1.可变类型:
值改变,id不变,说明改的是原值,原值是可以被改变的。
--list 列表,dict 字典(但字典内部的 key 是不可变类型),
# 2.不可变类型:
值改变,id也变 ,说明是产生新的值,压根没有改变原值,原值是不可以被改变的。
--整型,浮点型,字符串,布尔类型 (都是被设计成不可分割的整体,不能够被改变)
二、什么是条件?什么可以当做条件?为何要用条件?
# 条件可以是:
比较运算符;
布尔类型(True,False);
隐式布尔值(所有的值都可以当成条件去用)
其中 0,None,空(空字符串,空列表,空字典)代表False,其余都是True
三、逻辑运算符
# 1.基本使用(单独使用时,多个条件,从左到右依次判断)
not :逻辑非,就是将紧跟其后的条件结果取反(not与其后的条件 是一个不可分割的整体)
and :逻辑与,就是用来连接左右两个条件(两个同时为真,其整体结果为真),可以连接多个条件(有一个为假,就为假)
or :逻辑或,就是用来连接左右两个条件(两个同时为假,其结果为假),可以连接多个条件(有一个为真时,就为真)
# 2.混合使用
优先级:not > and > or
eg:3 > 4 and not 4 > 3 or 1 ==3 and 'x' == 'x' or 3 > 3
false false false
(3 > 4 and (not 4 > 3)) or (1 ==3 and 'x'== 'x') or 3 > 3
注:实际开发不这样复杂使用,因为不能第一眼就判断出来,
若必须使用,就将其中条件用()包起来,外层只剩 and 或者 or 进行单一判断,方便短路运算
# 3.短路运算
偷懒原则,偷懒到哪个位置,就把当前位置的值返回
注意:在短路运算中,若偷懒到隐式布尔值的位置,返回的值不会直接显示布尔类型,会是该隐式布尔值,实际还是代表其布尔值。
eg: 10 > 3 and None and True -----> 结果:None ( 虽然不是直接显示布尔类型,但实际还是 false)
四、成员运算符
A in B :判断A 是否在B中
A not in B :判断A 是否不在B中
注:字典 in 运算时,是判断字典的key
五、流程控制之if判断
if 条件1:
pass
elif 条件2:
pass
...
else:
pass
标签:02,判断,false,--,day06,布尔值,条件,类型,字典 来源: https://www.cnblogs.com/Edmondhui/p/16346970.html