表达式
由一个或者几个数字或者变量和运算符组合合成的一行代码
通常会返回一个结果
运算符
由一个以上的值经过变化得到的新值的过程叫运算
由一个或者几个数字或者变量或者运算符合成第一行代码
通常返回一个结果
运算符分类:
算数运算符
比较/关系运算符
赋值运算符
逻辑运算符
位运算
成员运算符
身份运算符
- 算数运算符
用来进行算数运算的符号,通常用来表示加减乘除,python没有自增自减运算符
+,- 跟正常算术运算符一模一样
乘号是用星(*)代替
除号用斜杠(/)表示
** 表示幂运算
#算术运算符的案例
#加减乘除数学意义基本一致
a = 9 - 2
print(a) # 7
b = 9 + 2
print(b) # 11
c = 9 * 2
print(c) # 18
#python除法分为普通除法,地板除,取余
#正常除法
d = 9 / 2
print(d) # 4.5
#地板除
e = 9 // 2
print(e) # 4
#取余
f = 9 % 2
print(f) # 1
#除以负数的结果
#理解这个结果参考取余的定义
g = 9 % -4
print(g) # -3
比较运算符
对两个内容进行比较的运算符
比较的结果是布尔值,即是True/False
!= 表示不等于
# 等于 == (两 = 号)
a = 3 == 4
print(a) # False
#其他符号为 >, >=. <, <=
print(3 >= 8) # False
赋值运算符
把一个值放到变量里边去
# 赋值符号 =
a = 9
print(a) # 9
# 复杂赋值
a = b = 9
a,b = 1,2
print(a,b) # 1,2
# 赋值的缩写
cc = 1
cc = cc + 3
print(cc) # 4
# 注意下面符号仅仅表示一个缩写
cc += 3 #相当于cc = cc + 3
print(cc) # 7
## 所有数学运算符都可以缩写
# -=, *=, //=, %=, **= 都是缩写形式
# python里面没有自增自减运算符
逻辑运算符
对布尔类型变量或者值进行运算的符号
and:逻辑与
or:逻辑或
not:逻辑非
python里面的逻辑运算没有异或运算
运算规则: and看做乘法,or看做加法,True看做1,False看做0
则规则运算就能转换成整数数学运算
最后结果如果是0则位False,否则为True
逻辑运算符的短路问题
逻辑运算式,按照运算顺序计算,一旦能够确定整个式子未来的值,则不再进行计算,直接返回
# 逻辑表达案例
a = True
b = True
c = False
aa = a and b # 左边表达式可以转换成 1*1
print(aa) # True
bb = a and c
print(bb) # False
#短路问题案例
d = True
e = True
g = False
dd = d or e and(d and e)#转换成算数 1+...
print(dd) #True
成员运算符
用来检测一个值或者变量是否在某一个集合里面
in:成员运算符
not in:不在里面的意思
# in 案例
L = [ 1, 2, 3, 4, 5]
A = 6
AA = A in L
print(AA) #False
# A 没有再L里面
AA = A not in L
print(AA) #True
身份运算符
用来确定两个变量是否是同一个变量
is : 变量运算符
is not : 不是
学python的想必都知道,对整数N \ in [-5,256],解释器对它们进行了单独的处理,放进了固定的内存中,不因你每次运行而变化
扩展: 不仅对小整数由这样的处理,内建的类(int,staticmanethod,ob ject, TypeError…)也是都是这样的处理的。看到一个变量的内存是不是这样处理的,无需运行两次,只要看id()编号的长度就行,它们都是10位的,普通变量都是十三位的。
其实并不是每次运行结果都是一样的,比如重启一下电脑试试。
不同软件打开的同一个python解释器结果也是不同的,最先打开的那个会影响其他的,比如先打开pycharm,cmd,jupyter得到的是不同的结果。
只要把解释器全部关闭再打开某一个,其余的都会是这个软件的值。
电脑不关机的话,软件重复关闭和打开id值是一样的。
运算符优先级问题
小括号具有最高优先级
** 指数 (最高优先级)
*/ % // 乘,除,取模和取整数
>> << 右移,左移运算符
& 位 ‘AND’
<= < > >= 比较运算符
< > == != 等于运算符
= %= / = // = -= + = *= **= 赋值运算符
is is not 身份运算符
in not in 成员运算符
not or and 逻辑运算符