运算符
1、算数运算符
print(10 / 3)
print(10 // 3) # 平板除,除下来的结果不保留小数部分
print(10 % 3)
print(10 ** 2) # 次方的意思,[10 ** 2]则为 10的2次方, [10 ** 3]则为10的3次方
2、比较运算符
print(10 == 10)
print(10 != 10)
print(10 > 3)
print(10 < 3)
print(10 >= 10)
print('egon' == 'egon')
了解知识点:
x='abcdef' # str可以相比较
y='abcz'
print(x > y)
纯字母的str可以互相比较
l1=[2,'abc',3] # list也可相比较
l2=[2,'3']
print(l2 > l1)
str 不可以跟 int做比较
3、赋值运算符
3.1 增量赋值
age = 18
# age = age + 1
上一行代码可以写成下一行代码
age += 1 # 即为age=age+1
print(age) # 结果: age为 19
age-=1 # 即为age=age-1
print(age) # 结果:age为 17
3.2 交叉赋值
x=11
y=22
temp=x
x=y
y=temp
上述三行代码可以合并为下面这一行
x,y=y,x
print(x,y) # 22 11
3.3 链式赋值
x=10
y=x
z=y
上述三行代码可以合并为下面这一行
x=y=z=10
print(id(x),id(y),id(z)) # 结果:x y z的ID相同,即值相同,链式赋值成功
3.4 解压赋值
list=['a','b','c','d','e']
x=list[0]
y=list[1]
z=list[2]
m=list[3]
n=list[4]
等号左边的变量名必须与右面所包含的值一一对应
x,y,z,m,n=list
print(x,y,z,m,n) # a b c d e
x,y,*_,z=list
print(x,y,z) # a b e
4、逻辑运算符
and:逻辑与,用来连接左右两个条件,在左右两个条件同时为True的情况下,最终结果才为True
print(10 < 3 and 3 == 3)
print(10 > 3 and 3 == 3 and 1 == 1 and 1 > 0)
or:逻辑或,用来连接左右两个条件,左右两个条件但凡有一个为True,最终结果就为True
print(10 < 3 or 1 == 1)
print(10 < 3 or 1 == 1 or 10 < 11 or 1!= 1 or 'a' != 'a')
not:取反
print(not 10 > 3) # 结果:10 > 3为 Ture , not 取反 则为 Flase
res=(10 > 3 and 'egon' != 'egon') or ((1 < 3 and 4 >= 3) or (not 8 > 3))
print(res)
# 以括号来认为规定逻辑运算优先级
5、身份运算符
==:判断的是值是否相等
is:判断的是id是否相等
值相等,id可以不同
>>> x='info:egon:18:male'
>>> y='info:egon:18:male'
>>> id(x),id(y)
(2924120923496, 2924120923568)
>>> x == y
True
>>> x is y
False
id相同,值一定相同
>>> x=10
>>> x=y
>>> id(x)
2924120923568
>>> id(y)
2924120923568
>>>
>>> x is y
True
>>> x == y
True