赋值运算符 =
- 例如:将18赋值给age
age = 18
增量赋值 = - += -=
- 将age的值加1或者减1
age = 18
age = age + 1
age += 1 # 与上面的功能是一样的,但这样表达语句更简洁
age = age - 1
age -= 1 # 同样,语句上更简洁一些,同时不影响代码可读性
交叉赋值
- 例如:x = 111, y = 222
如果要将他俩的值互换,应该怎样实现
一种方式是:
x = 111
y = 222
temp = x
x = y
y = temp
上述方式需要另外申请变量来完成x,y值的互换
另一种方式:
x = 111
y = 222
x, y = y, x
用一行简单的代码就可以实现,非常简洁高效
链式赋值
将10赋值给多个变量,可以一个一个的给变量赋值,也可以使用一行代码实现,链式赋值更加的简洁方便
x = 10
y = 10
z = 10
x, y, z = 10
解压赋值
- 当我们从存有多个数据的数据类型红取值时,用最普通的方式取如下:
salaries = [111, 222, 333, 444, 555]
mon0 = salaries[0]
mon1 = salaries[1]
mon2 = salaries[2]
mon3 = salaries[3]
mon4 = salaries[4]
显然一个一个的去取值还是比较繁琐
- 我们可以用如下方式一次性将所有数值去除,一一对应到不同的变量中
mon0,mon1,mon2,mon3,mon4=salaries
print(mon0)
print(mon1)
print(mon2)
print(mon3)
print(mon4)
注意1: 变量名与值的个数必须一一对应
mon0,mon1,mon2,mon3,mon4,mon5=salaries # 多一个变量名不行
mon0,mon1,mon2,mon3=salaries # 少一个变量名不行
- 有时候我们并不需要把所有的值都取出来,我们只想要前几个数据或者后几个数据,可以用以下方式:
salaries = [111, 222, 333, 444, 555]
mon0,mon1,*_=salaries # mon0、mon1用于存放前两个数值,*_存放了后面所有数值
print(mon0)
print(mon1)
print(_)
*_,x,y=salaries # x,y存放了后面两个数值,*_存放了前面的所有数值
print(x,y)
print(_)
x,*_,y,z=salaries # x存放第一个数值,y存放了最后一个数值,*_存放了中间的所有的数值
print(x)
print(y)
print(z)
_,*midlle,_=salaries
print(midlle)
dic={'k1':111,'k2':222,'k3':3333}
x,y,z=dic # 赋值给x,y,z的是key值
print(x,y,z)
print(dic[x],dic[y],dic[z]) # 使用key值来取对应的值
x, y, z,a,b = "hello" # 同样变量数量要与字符数量相等,不然会报错
逻辑运算符
条件:能得到True或者False两种值的都可以当作条件
- 显示的布尔值:表面上看上去直接就是True或False
(1)比较运算的结果
print(10 > 3)
print(10 == 3)
(2)变量值直接就是True或False
tag = True
- 式的布尔值:表面上看上去是一种值,在底层会被解释器转换成True或False
0、None、空对易经的布尔值都为False,其余对应的布尔值均为True
逻辑运算符not
not 条件:对条件的结果取反
not 10 > 3 # 结果为False
not False # 结果为True
逻辑运算符and
条件1 and 条件2:连接左右两个条件,两个条件只要有一个为True,最终结果就为True
print(True 10 > 3) # True
print(True and 10 == 3) # False
逻辑运算符or
条件1 or 条件2:连接左右两个条件,两个条件只要有一个为True,结果就为True
print(False or 10 == 3) # False
print(True or 10 == 3) # True
逻辑运算符优先级
优先级:not > and > or,推荐用括号取标识优先级
res = 3 > 4 and 4 > 3 or not 1 == 3 and 'x' == 'x' or 3 > 3
print(res)
res=(3 > 4 and 4 > 3) or (not (1 == 3 and 'x' == 'x')) or 3 > 3