基本运算符

发布时间 2023-11-28 15:20:44作者: Formerly0^0

基本运算符

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.逻辑运算符

  • 逻辑运算符用于连接多个条件,进行关联判断,并返回布尔值 TrueFalse

  • 常用的逻辑运算符包括与(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,属于同一块内存。