表达式
- 由一个或者几个数字或者变量或者运算符合成的一行代码
- 通常返回一个结果
# 表达式
a = 1 + 2
print(a)
运算符
- 由一个以上的值经过一系列的运算得到新值的过程叫做运算
- 用来操作运算的符号叫运算符
运算符分类
算术运算符
用来进行算术运算的运算符
-
符号
- 加号:+
- 减号:-
- 乘号:*
- 次方:**
- 除号:/
- 地板除://
- 取余:%
- Python没有自增和自减运算符
- 执行顺序:从左右到
# 算术运算符
a = 9 - 2
print(a)
b = 9 + 2
print(b)
c = 8 * 2
print(c)
# 两个乘号是指数
d = 7 ** 2
print(d)
# Python除法分为普通出发,地板除和取余
# 正常除法
x = 9 / 2
print(x)
# 地板除,向下取整
y = 9 // 2
print(y)
# 取余
z1 = 9 % 2
print(z1)
# 除以负数的结果
# 取余的概念:被取余的数减去一个数字,能够正好被取余的数整除
z2 = 9 % -4
print(z2)
"""
运行结果:
7
11
16
49
4.5
4
1
-3
"""
比较运算符
对两个内容进行比较的运算符
-
符号
- 等于号:==
- 不等于号:!=
- 大于号:>
- 小于号:<
- 大于等于号:>=
- 小于等于号:<=
- 返回值是布尔值,True或False
- 执行顺序:从左到右
# 等于:==
a = 3 == 4
print(a)
# 不等于:!=
b = 3 != 4
print(b)
# 大于:>,大于等于:>=,小于:<,小于等于:<=
print(3 >= 8)
print('Madman' > 'Badman')
"""
运行结果:
False
True
False
True
"""
赋值运算符
把一个值放到变量里面去
-
符号
- 赋值:=
- 所有的数学运算符都可以和赋值运算符搭配缩写,但是不建议用
- 执行顺序:从右到左
# 赋值符号:=
a = 9
print(a)
# 复杂赋值
b = c = 9
d,e = 1,2
print(b, c)
print(d, e)
逻辑运算符
对布尔类型变量或者值进行运算的符号
-
逻辑运算符
- 逻辑与:and
- 逻辑或:or
- 逻辑非:not
- Pyhon没有异或逻辑运算符
-
逻辑运算符存在短路问题
- 按照运算顺序计算,一旦能够确定整个式子未来的值,则不再进行计算,直接返回结果
# 逻辑表达式
a = True
b = True
c = False
d = a and b
print(d)
e = a and c
print(e)
f = 100 and c
print(e)
"""
运行结果:
True
False
False
"""
# 逻辑运算符的短路问题1
a = True
b = True
c = False
# "a or"后面的代码不会执行
c = a or b and (a and b)
print(c)
"""
运行结果:
True
"""
# 逻辑运算符的短路问题2
def a():
print('a')
return True
def b():
print('b')
return True
c = a() and b()
print(c)
d = a() or b()
print(d)
"""
运行结果:
a
b
True
a
True
"""
成员运算符
用来检测一个值或者变量是否在某个集合里面
- in:在里面
- not in:不在里面
# in/not in
l = [1, 2, 3, 4, 5]
a = 6
b = a in l
print(b)
c = a not in l
print(c)
身份运算符
用来确定两个变量是否是同一个变量
- is:是
- is not:不是
# is/not is
a = 1
b = 2
c = a is b
print(c)
d = a is not b
print(d)
"""
运行结果:
False
True
"""
# 关于Python底层的原理
# 如果是较大的数,结果会出现False
x = 1110001110
y = 1110001110
z = x is y
print(z)
# 如果是较小的数,结果会出现True
a = 3
b = 3
c = a is b
print(c)
"""
运行结果:
True
True
"""
# 为什么较大数用is运算符时会显示False:原因是因为标准的Python是C编写的。在两个数用is运算符时,实际上比较的是两个变量所在的地址
# 为什么较小数用is运算符时会显示True:原因时因为Python觉得较小的数(-5到256之间)经常用到,所以会在内存中先定义好较小数的地址,当我们要用到的时候,直接将地址指向小数字所在的地址,而不是重新开辟一段空间
运算符的优先级问题
- 小括号具有最高的优先级
- 在用运算符的时候,为了避免歧义,多使用括号来规定运算顺序
版权声明:本文为Madman_Lyy原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。