Python表达式
1 表达式
- 由一个或者几个数字或者变量和运算符组合成的一行代码
- 通常会返回一个结果
2 运算符¶
- 由一个以上的值经过变化得到新值的过程就叫运算
- 用于运算的符号叫运算符
- 运算符分类:
- 算数运算符
- 比较或者关系运算符
- 赋值运算符
- 逻辑运算符
- 位运算
- 成员运算
- 身份运算符
2.1 算数运算符
- 进行算数运算的符号
- python没有自增自减运算符
# +,-跟正常算术运算符一模一样
x1 = 9+3-1
print(x2)
# 乘号用星号(*)代替
x2 = 6 * 5
print(x2)
# 除号用斜杠(/)代替
# 在Python2.x 和python3.x 中,除号(/)结果可能不一致,此处以3系列为准
x3 = 8/3
print(x3)
# % 取余运算
# 两个数字相除应该有商数有余数
# % 只会得到余数
x4 = 9 % 4
print(x4)
# // 表示取商运算,也叫地板除
x5 = 9 // 4
print(x5)
# ** 表示幂运算
x6 = 2 ** 4
print(x6)
2.2 比较运算符
- 对两个变量或者值进行比较的运算符
- 比较的结果是布尔值,即True/False
'''
== , 等于号
> 大于
< 小于
>= 大于等于
<= 小于等于
'''
# 下面语句执行书序是
# 1, 计算 a == 80
# 2. 把结果放入b中
a = 2 ** 3
b = a == 80
print(b)
# != 不等于
print( 9 != 8 )
2.3 赋值运算符
# = 赋值
a = 0
c = a = 4
print(c)
# +=, 是缩写,
a = 0
a += 7 # a = a+ 7 的缩写
print(a)
# 所有数学运算符都有缩写形式
# -=, ×=, /=, //=, %=, **=,都是缩写形式
# python里面没有++,--
2.4 逻辑运算符
- 对布尔值进行计算的符号:
and 逻辑与
or 逻辑或
not 逻辑非 - python中逻辑运算没有异或运算
- 运算规则:
and看做乘法, or看做加法,
True看做1, False看做0
则逻辑运算就能转换成整数数学运算
最后结果如果是0则为False, 否则为True
逻辑运算没有负数 - 逻辑运算的短路问题
逻辑运算式,按照运算顺序计算,一旦能够确定整个式子未来的值,则不再进行计算,直接返回
# 1 逻辑运算符案例
a = True
b = False
c = True
# 以下式子等价于 d = 1 * 0 + 1
d = a and b or c
print(d)
# 2 逻辑运算的短路案例
# 下面的逻辑表达式,a的值一定是True,则运行到or的时候,整个表达式不在向下计算
a = True or xxxxxxxxxxx
# 下面表达式,如果xxx中包含赋值表达式,则结果很难预期
# 代码示例(伪代码)
b = 0
a = a or (b=9) and 6
# 假定上面表达式如果没有语法错误
# 则b最终的值应该是0而不是9
print(b)
print(a)
2.5 成员运算符号
- 用来检测某一个变量是否是另一个变量的成员
in
not in
# 案例
List1 = [1,2,3,4,5] # 列表
x1 = 7
res = x1 in List1
print(res)
x2 = 4
print(x2 in List1)
print(x2 not in List1)
2.6 身份运算
- is: 用来检测两个变量是否是同一个变量
语法就是 var1 is var2 - is not: 两个变量不是同一个变量
a = 3
b = 30
print(a is b)
a = "I love coding"
b = "I love coking"
print(a is b)
- 运算符的优先级问题
- 记住,括号具有最高优先级
目录
上一篇:chap1-02 python变量
下一篇:chap1-04 程序结构
本次笔记来自于“免费Python全系列教程全栈工程师”的学习