#1、赋值运算符
# (1)增量赋值
age =18
age +=1 # age = age + 1
age -=1 # age = age - 1
age *=1 # age = age * 1
age /=1 # age = age / 1
# (2)交叉赋值
x =111
y =222
x, y = y, x
print(x, y)
# (3)链式赋值
# x = 10
# y = x
# z = y
x = y = z =10
# (4)解压赋值
# list
salaries = [111, 222, 333, 444, 555]
# mon1 = salaries[0]
# mon2 = salaries[1]
# mon3 = salaries[2]
# mon4 = salaries[3]
# mon5 = salaries[4]
# 注意1:变量名与值都个数必须一一对应
mon0, mon1, mon2, mon3, mon4 = salaries# 多一个,少一个变量名都不行
print(mon1)
#
# mon0, mon1, *_ = salaries
# print(mon1, _)
#
# *_, x, y = salaries
# print(x, y)
x, *_, y, z = salaries# 第一个和后两个
print(x, y, z)
# 字典
dic = {'k1':111, 'k2':222, 'k3':333}
x, y, z = dic
print(x, y, z)# 得到的是key的值
# 字符串
str1 ='hello'
x1, x2, x3, x4, x5 = str1
2. 逻辑运算符
# 一、条件:只要能得到True 或 Flase两种值的东西都能当作条件
# 例如:
# 1、显示的布尔值
# (1)比较运算的结果
10 >3
10 ==3
# (2)变量值直接就是True 或 False
tag =True
# 2、隐式的布尔值:表面上看上去式一种值,在底层会被解释器转换成True或False
# 除了 0、None、空, 对应的布尔值为False,其余的对应的布尔值均为True
# 二、逻辑运算符
# (1)not 条件:对条件的结果取反
print(not 10 >3)
print(not False)
print(not 3)
# (2) 条件1 and 条件2: 连接左右的两个条件,两个条件都为True,结果才为True
print(True and 10 >3)
# (3) 条件1 or 条件2: 连接左右的两个条件,两个条件只要有一个为True,最终True
print(False or 10 ==3)
# ps:偷懒原则-> 短路运算
# (4)优先级: not > and > or 推荐用括号
print(not 1 ==3 or 3 ==3)