可变量与不可变量、逻辑运算符与流程控制if判断
一 可变不可变类型
1、不可变型:值改变,id也变了,说明是产生了新的值,并没有改变原值,原值是不可以被修改的
int(整型)、float、str、bool类型 所有的对变量的赋值都是产生新值(id)
int、float、str都被设计成不可分割的整体,不能被改变
2、可变类型:值改变,id不变,证明改的是原值,原值是可以改变的
list、dic是可变类型,列表内的值可变,列表本身不会改变
字典补充:
定义:{}内用逗号分隔开 key:value,value可以是任意类型,但key必须是不可变型
所有的赋值操作,是在栈区里面产生了一个新的值,捆绑给变量名
l1产生新的列表
l1 和l是没有关系的,id一定是不同的内存地址
二、逻辑运算符
逻辑运算符用于连接多个条件,进行关联判断,会返回布尔值True 或 False
条件可以是:
a、比较运算符
采集到的对象的一种信息,
进行条件判断后得到一个布尔值
b、可以是True、False
隐式布尔值,所有的值都可以当成条件去用
其中0、None、空(空字符串、空列表、空字典)=》代表布尔值为False,其余类型都为真(1、‘ ’、‘ad’等)
1、not、or、and基本使用
ps:not与紧跟其后的那个条件是一个不可分割的整体
1.1、优先级 not >and >or
可以用括号括起来,方便判断
2、成员运算符
判断key是否存在于字典
not in
3、身份运算符
is #判断id是否相等
三 流程控制之if判断
1.语法1
if 条件:
(缩进4个空格)代码1
(缩进4个空格)代码2
2、语法2
if 条件:’‘’
代码1
代码 2
else :
代码1
代码 2
3.语法3:
if 条件1:
代码1
代码2
代码3
elif 条件2:
代码1
代码2
代码3
else:
代码1
代码2
代码3
# if 可以嵌套if