基本运算符
1. 算数运算符
算数运算符,例如:加减乘除
1.1 加法运算符 +
a = 10
b = 10
c = a + b
print(c) # 20
1.2 减法运算符 -
a = 10
b = 5
c = a - b
print(c) # 5
1.3 惩罚运算符 *
a = 10
b = 5
c = a * b
print(c) # 50
1.4 除法运算符 /
a = 10
b = 5
c = a / b
print(c) # 2
1.5 取模或者叫取余,返回除法的余数 %
a = 10
b = 3
c = a % b
print(c) # 1
1.6 幂运算符 **
a = 9
b = 2
c = a ** b
print(c) # 81
1.7 整除运算符 //,返回商的整数部分
a = 9
b = 2
c = a // b
print(result) # 输出:4
2. 比较运算符
比较运算用来对两个值进行比较,返回的是布尔值True或False
2.1 相等运算符 ==
a = 5
b = 10
c = a == b
print(c) # False
2.2 不等运算符 !=
a = 5
b = 10
c = a != b
print(c) # True
2.3 大于运算符 >
a = 5
b = 10
c = a > b
print(c) # False
2.4 小于运算符 <
a = 5
b = 10
c = a < b
print(c) # True
2.5 大于等于运算符 >=
a = 5
b = 10
c = a >= b
print(c) # False
2.6 小于等于运算符 <=
a = 5
b = 10
c = a <= b
print(c) # True
3.赋值运算符
赋值运算,例如:变量赋值
3.1 增量赋值
x = 9
y = 2
# 等同于 x = x + y
x += y
print(x) # 输出:11
3.2 链式赋值
-
链式赋值允许在单一语句中给多个变量赋值。这样可以减少代码行数,提高代码的紧凑性
a = b = c = 5 # 同时给a、b、c三个变量赋值为5 print(a, b, c) # 输出:5 5 5
3.3 交叉赋值
-
交叉赋值允许在不使用临时变量的情况下,交换两个变量的值
a = 1 b = 2 a,b = b,a # 将变量a的值赋值给b,将b的值赋值给a print(a,b) # 2,1
3.4 解压赋值
-
解压赋值允许将一个可迭代对象(如列表、元组等)的值解压到多个变量中,以便进一步使用
coordinates = (3, 5) # 解压赋值 x, y = coordinates # 表示将元组 coordinates 中的值解压到变量 x 和 y 中,以便分别使用 print(x, y) # 输出:3 5
4.逻辑运算符
-
逻辑运算符用于连接多个条件,进行关联判断,并返回布尔值
True
或False
-
常用的逻辑运算符包括与(
and
)、或(or
)、非(not
)
4.1 与运算符 and
-
与运算符
and
在两个条件都为True
时,返回True
;如果其中一个条件为False
,则返回False
a = 10 b = 2 c = a > 5 and b > 0 # 同时判断a>5和b>0是否都为真,如果两个条件都满足,就是True print(c) # True
4.2 或运算符 or
-
或运算符
or
在两个条件中至少有一个为True
时,返回True
;如果两个条件都为False
,则返回False
a = 10 b = 2 c = a > 5 or b > 0 # 判断a>5或者b>0是否都为真,两个条件满足其中一个就为True print(c) # True
4.3 非运算符 not
-
非运算符
not
用于对一个条件取反,如果条件为True
,则返回False
;如果条件为False
,则返回True
a = 10 c = not (a > 0) # 表示对条件 a > 0 取反,因为 a > 0 为 True,所以结果为 False print(c) # False
5.成员运算符
- 成员运算符用于测试序列是否包含特定的元素。可以用于字符串、列表、元组、字典等序列类型的数据
5.1 in运算符
-
如果在指定的序列中找到值返回 True,否则返回 False
fruits = ["apple", "banana", "cherry"] print("banana" in fruits) # True print("orange" in fruits) # False
5.2 not in 运算符
-
如果在指定的序列中没有找到值返回 True,否则返回 False。
fruits = ["apple", "banana", "cherry"] print("banana" not in fruits) # False print("orange" not in fruits) # True
6.身份运算符
- 身份运算符用于比较对象的内存地址,即判断两个对象是否指向同一块内存地址。
- 这两个运算符主要用于检查对象的标识,即它们是否指向相同的内存地址。
6.1 is运算符
-
如果两个变量引用同一个对象,则返回 True,否则返回 False
a = [1, 2, 3] b = a c = [1, 2, 3] print(a is b) # True print(a is c) # False
6.2 is not运算符
-
如果两个变量引用的不是同一个对象,则返回 True,否则返回 False
a = [1, 2, 3] b = a c = [1, 2, 3] print(a is not b) # False print(a is not c) # True
补充 == 和 is 的区别
-
==
双等号比较的是value是否相等 -
is
用于比较两个对象的标识id(内存地址)是否相同# 示例1 v1 = [] v2 = [] print( v1 == v2 ) # True,两个值相当 print( v1 is v2 ) # False,不属于同一块内存。 # 示例2 v1 = [] v2 = v1 print( v1 == v2 ) # True,两个值相当 print( v1 is v2 ) # True,属于同一块内存。 # 示例3 v1 = None v2 = None print(v1 == v2) # True,两个值相当 print(v1 is v2) # True,属于同一块内存。