python运算符

1.算术运算符

1.1算数运算符

  • +:加法运算符,用于将两个操作数相加。
  • -:减法运算符,用于将第一个操作数减去第二个操作数。
  • *:乘法运算符,用于将两个操作数相乘。
  • /:除法运算符,用于将第一个操作数除以第二个操作数。
  • //:整除运算符,将第一个操作数除以第二个操作数得到的商去掉小数部分。
  • %:取余运算符,返回第一个操作数除以第二个操作数的余数。
  • **:幂运算符,用于将第一个操作数的值提升到第二个操作数的幂次方。

下面举例说明:

a = 10
b = 3

# 加法
addition = a + b
print("加法:", addition)

# 减法
subtraction = a - b
print("减法:", subtraction)

# 乘法
multiplication = a * b
print("乘法:", multiplication)

# 除法
division = a / b
print("除法:", division)

# 整除
floor_division = a // b
print("整除:", floor_division)

# 取余
modulus = a % b
print("取余:", modulus)

# 幂运算
exponentiation = a ** b
print("幂运算:", exponentiation)

这段代码的结果为

加法: 13
减法: 7
乘法: 30
除法: 3.3333333333333335
整除: 3
取余: 1
幂运算: 1000

1.2运算符的优先级

1.括号()
2.幂运算 **
3.正负号 +x -x
4.乘法 *,除法 /,整除运算符 //,取余运算符 %
5.加法 +,减法 -

  这些运算符的优先级决定了表达式中各个算术运算符的执行顺序。如果有多个运算符同时出现,Python会按照优先级从高到低的顺序依次执行。

a = 2
b = 3
c = 4

# 优先级为 括号 > 幂运算 > 乘法、除法、整除、取余 > 加法、减法
result = a + b * c
print(result)  # 输出 14

  其中乘法运算符的优先级比加法运算符高,因此先计算了乘法,得到 3 * 4 = 12,然后再与 2 相加,最终结果为 14。

result = (a + b) * c
print(result)  # 输出 20

  使用括号明确了加法运算的优先级,得到了正确的结果 20

result = a ** b + c
print(result)  # 输出 13

  其中幂运算符的优先级比加法和减法运算符高,因此先计算了幂运算,得到 2 ** 3 = 8,然后再与 4 相加,最终结果为 13。

result = -a + b * c
print(result)  # 输出 10

  正负号运算符的优先级比乘法和除法运算符低,因此先计算了乘法,得到 3 * 4 = 12,然后再取负,最终结果为 -2 + 12 = 10。

result = (-a + b) * c
print(result)  # 输出 4

  使用括号明确了加法运算的优先级,先计算了加法,得到 -2,然后再乘以 4,最终结果为 4。

result = a * b + c / a // b % c
print(result)  # 输出 7

根据优先级执行:先乘法和除法,再加法。c / a 计算为 4 / 2 = 2.0,然后 2.0 // b = 2.0 // 3 = 0.0(双斜杠表示整除)接着进行乘法:a * b = 2 * 3 = 6。最后加法:6 + 0.0 = 6.0 输出 6.0

2.赋值运算符

2.1赋值运算符

等号赋值 (=):用于将右侧的值赋给左侧的变量。

x = 5  # 将值 5 赋给变量 x

增量赋值 (+=, -=, *=, /=, %=, //=, **=):这些运算符结合了运算和赋值,将运算结果赋给左侧的变量。

x = 5
x += 3  # 相当于 x = x + 3,即 x 变为 8
x = 10
x /= 2  # 相当于 x = x / 2,即 x 变为 5.0

2.2赋值优先级

在Python中,赋值运算符的优先级较低,通常是在其他运算符之后执行。例如,算术运算符的优先级高于赋值运算符。

# 赋值运算符示例
x = 10
y = 5

x += 3  # 相当于 x = x + 3,现在 x 是 13
y *= 2  # 相当于 y = y * 2,现在 y 是 10

# 赋值优先级示例
a = 5
b = 2
a = b + 3  # 首先计算 b + 3,然后将结果 5 赋给 a

3.比较运算符

3.1比较运算符

1.等于 (==): 检查两个值是否相等。

x = 5
y = 7
result = x == y  # 返回 False,因为 x 不等于 y

2.不等于 (!=): 检查两个值是否不相等

x = 5
y = 7
result = x != y  # 返回 True,因为 x 不等于 y

3.大于 (>): 检查左侧的值是否大于右侧的值。

x = 5
y = 7
result = x > y  # 返回 False,因为 x 不大于 y

4.大于等于 (>=): 检查左侧的值是否大于或等于右侧的值。

x = 5
y = 7
result = x >= y  # 返回 False,因为 x 不大于或等于 y

5.其中< ,<=与> ,>=相同,不在举例;

3.2比较运算符优先级:

# 比较运算符示例
x = 10
y = 5

result1 = x == y  
# 返回 False,因为 x 不等于 y
result2 = x > y   
# 返回 True,因为 x 大于 y

# 比较运算符优先级示例
result3 = 5 * 2 == 10 - 0 
 # 首先计算算术运算,然后进行比较,返回 True

3.3比较结果

当使用比较运算符时,根据运算符的不同,Python 返回的结果是布尔值 TrueFalse

x = 5
y = 7

# 等于运算符 (==)
result_equal = x == y  # 返回 False,因为 x 不等于 y

# 不等于运算符 (!=)
result_not_equal = x != y  # 返回 True,因为 x 不等于 y

# 大于运算符 (>)
result_greater = x > y  # 返回 False,因为 x 不大于 y

# 小于运算符 (<)
result_less = x < y  # 返回 True,因为 x 小于 y

# 大于等于运算符 (>=)
result_greater_equal = x >= y  # 返回 False,因为 x 不大于或等于 y

# 小于等于运算符 (<=)
result_less_equal = x <= y  # 返回 True,因为 x 小于或等于 y

要记住的是:

  • True 表示条件成立(即比较结果为真)。
  • False 表示条件不成立(即比较结果为假)。

4.逻辑运算符

4.1逻辑运算符

与运算 (and): 如果两个条件都为真,则返回 True,否则返回 False。上课讲的左侧为真,返回右侧;左侧为假,返回左侧;其实都一样

x = 5
y = 7
z = 10

result_and = (x < y) and (y < z)  # 返回 True,因为两个条件都为真

或运算 (or): 如果两个条件中至少有一个为真,则返回 True,否则返回 False。上课讲的左侧为真,返回左侧,左侧为假,返回右侧

x = 5
y = 7
z = 3

result_or = (x < y) or (y < z)  # 返回 True,因为至少有一个条件为真

非运算 (not): 将条件的结果取反,如果条件为真,则返回 False,如果条件为假,则返回 True。

x = 5
y = 7

result_not = not (x < y)  # 返回 False,因为条件为真,取反为 False

5.位运算符

5.1位运算符

按位与 (&): 如果两个相应的二进制位都为1,则结果为1,否则为0。

a = 5  # 二进制表示为 0101
b = 3  # 二进制表示为 0011

result_and = a & b  # 返回 1,因为二进制的末位是1,其余位是0

按位或 (|): 如果两个相应的二进制位至少有一个为1,则结果为1,否则为0。

a = 5  # 二进制表示为 0101
b = 3  # 二进制表示为 0011

result_or = a | b  # 返回 7,因为二进制的第一个和第二个位都是1

按位异或 (^): 如果两个相应的二进制位不相同(一个为0,一个为1),则结果为1,否则为0。

a = 5  # 二进制表示为 0101
b = 3  # 二进制表示为 0011

result_xor = a ^ b  # 返回 6,因为二进制的第一个和第二个位不同

左移 (<<): 将一个数的二进制位向左移动指定的位数,右侧补0。

a = 5  # 二进制表示为 0101

result_left_shift = a << 1  # 返回 10,因为二进制左移一位变为 1010

右移 (>>): 将一个数的二进制位向右移动指定的

a = 5  # 二进制表示为 0101

result_right_shift = a >> 1  # 返回 2,因为二进制右移一位变为 0010

数。

你可能感兴趣的:(python)