day06 可变不可变类型

1.可变不可变类型

可变类型

定义:值改变,id不变,改的是原值

不可变类型

定义:值改变,id也变了,证明是产生了新的值没有改变原值

验证

x = 10 
print(id(x))
x = 11
print(id(x))
>>>140726762169264
>>>140726762169296
#整型为不可变类型

分别验证,浮点型,字符串,列表,字典,bool,得出以下结果

可变类型:列表,字典(key:不可变类型,value:任意类型)

不可变类型:整形,浮点型,字符串,bool

2.条件判断

定义:条件是我们执行事务的前提和判断的依据

显示我们条件判断的结果可以用bool

bool类型又分为两种:显式布尔值,隐式布尔值

显式布尔值:

隐式布尔值:所有的值都可以当成条件去使用,其中0,None,空为假

2.1逻辑运算符

not:逻辑非,就是把紧跟其后的那个条件结果取反(两者是不可分割的整体)

and:逻辑与,用来连接左右两个条件,两个条件同时为真才是真,否则都是假

or:逻辑或,左右两边只要有一个为真,结果就为真,全为假才是假

优先级 not>and>or

res = 1>4 or "a" not == "b" and 1 or "b" == "c"
#根据优先级我们可以把优先级高的用括号括起来更明显自己的判断
res = 1>4 or "a" ((not == "b") and 1) or "b" == "c"
#当语句中出现not将not之后的一个条件结果反转为第一优先级
#出现and把条件左右相连为第二优先级,
#只剩下or时可以从左到右判断

2.2成员运算符

in:某个对象包含于另一个对象返回True(字符串,列表,元组,集合,字典都支持)

not in:某个对象不包含于另一个对象返回True

x='a'
y=['aa',"vb","a"]
print(x in y)
>>>True

2.3身份运算符

is:两个对象的id相同时返回True

is not:两个对象的id不相同时返回True

x='a'
y="a"
print(x is y)
>>>True
原文地址:https://www.cnblogs.com/hz2lxt/p/12426807.html