其他分享
首页 > 其他分享> > day06--基本类型02与if判断

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