]:
# 表达式
- 由一个或几个数字或变量和运算符组成的一行代码
- 通常会反回一个结果
# 运算符
- 由一个以上的值经过变化得到新值的过程叫运算
- 用于运算的符号叫运算符
- 运算符分类
- 算数运算符
- 比较或者关系运算符
- 赋值运算符
- 位运算
- 成员运算符
- 身份运算符
- 逻辑运算符
In [ ]:
## 算数运算符
- 进行数学运算的符号
- python里没有自增自减运算符
In [8]:
#:(+,- ,与正常运算符一样)
a = 9 + 3 - 2
#:(乘号用“*”代替,除号用“/”代替)
# 在python2与python3中除号(/)结果可能不一样,以3系位准
a3 = 9 * 3
a2 = 9/31
print(a, a3, a2)
# % 取余运算
# 两个数字相除应该有商数有余数
a4 = 9 % 4
print(a4)
# //表示取商运算,也叫地板除
a5 = 9 // 2
print(a5)
# * * 表示幂运算或次方运算
a6 = 9 ** 4# (表示九的四次方)
print(a6)
In [ ]:
# 比较运算符
- 对两个变量或着两个值进行比较的运算符
- 比较运算符结果是个布尔值,即 True/False
In [10]:
#(== )等于号
a = 3 ** 4
# 下面这句话的执行顺序是
# 1.计算 a == 80
# 2. 把结果放入 b 中
b = a == 80
print(b)
# (!=)不等于号
print( 9 != 8)
# ( >,< )大于号,小于号
# ( >== , <== )大于等于号,小于等于号
In [ ]:
## 赋值运算符
In [11]:
# ( = )赋值运算符
a = 0
c = a =4
# ( += )表示缩写
a = 0
a += 7 # a = a + 7 的缩写
print(a)
# 所有数学运算符都有缩写形式
# -= , x= , /=, %= ,**=,都是缩写形式
In [ ]:
# 逻辑运算符
- 对布尔值进行运算的符号
- and 逻辑与
- or 逻辑或
- not 逻辑非
- python中逻辑运算没有异或运算
- 运算规则
- and 看作乘法,or 看作加法,
- True 看作1, False 看作0
- 最后结果是 0 则为 False,否则为 True
- 逻辑运算的短路问题
- 逻辑运算式,按照运算顺序计算,一旦能够确定整个式子未来的值,则不再进行计算,直接返回
In [12]:
#逻辑运算符案例
a = True
b = False
c = True
#以下的式子等价于 d = 1 * 0 + 1
d = a and b or c
print(d)
In [13]:
#逻辑运算短路案例
#下面的逻辑表达式,a的值一定是 True ,则运行到 or 的时候,整个表达式不再进行计算
a = True or xxxxxx
#下面表达式,如果xxx中包含赋值表达式,则结果难预测
# 代码示例(伪代码)
b = 0
a = a or (b=9) and 6
#假定上面表达式不报语法错误
#则 b 最终的值应该是 0 而不是 9
In [ ]:
## 成员运算符号
- 用来检测某一个变量是否是另一个变量的重要成员
- in
- not in
In [19]:
# 案例
c = [1,2,3,4,9,8]
a = 7
b = a in c
print(b)
a = 9
print(a in c)
print(a not in c)
In [ ]:
# 身份运算符
- 用来检测两个变量是不是同一个变量
- 语法表达: var1 is var2(表示这两个变量是同一个变量)
- is not :表示这两个变量不是同一变量
In [20]:
a = 9
b = 9
print( a is b )
a = "I LOVE ruirui"
b = "I love ruirui"
print(a is b)
## 运算符优先级问题
- 永远记住,括号拥有最高优先级
- 优先级的表格
** 指数 (最好优先级)
~ + - 按位翻转,一元加句号和减号(最后两个的方法名为 +0 和 -0)
* / % // 乘 ,除,取模和取整除
+ - 加减法
>> << 右移,左移运算符
& 位 "AND"
运算符优先级问题¶
- 永远记住,括号拥有最高优先级
- 优先级的表格 ** 指数 (最好优先级) ~ + - 按位翻转,一元加句号和减号(最后两个的方法名为 +0 和 -0)
- / % // 乘 ,除,取模和取整除
-
- 加减法
<< 右移,左
- 加减法
- 优先级的表格 ** 指数 (最好优先级) ~ + - 按位翻转,一元加句号和减号(最后两个的方法名为 +0 和 -0)