# 一. 运算符的分类

Python 中的运算符可以分为以下几种类型:

  • 算术运算符:用于执行数学运算,如加(+)、减(-)、乘(*)、除(/)、模(%)、幂(**)等。
  • 比较运算符:用于比较两个值,如等于(==)、不等于(!=)、大于(>)、小于(<)、大于等于(>=)、小于等于(<=)。
  • 逻辑运算符:用于执行逻辑运算,如与(and)、或(or)、非(not)。
  • 赋值运算符:用于赋值操作,如简单赋值(=)、加等于(+=)、减等于(-=)等。
  • 位运算符:用于位级操作,如按位与(&)、按位或(|)、按位异或(^)、按位取反(~)、左移(<<)、右移(>>)。
  • 成员运算符:用于测试成员资格,如属于(in)、不属于(not in)。
  • 身份运算符:用于比较两个对象的身份,如恒等(is)、非恒等(is not)。

# 二. 算术运算符

算术运算符是最基本的运算符,用于执行数学运算。以下是一些常用的算术运算符及其用法:

  • +:加法运算符,用于计算两个数的和。

    a = 5
    b = 3
    result = a + b  # 结果为 8
    
    1
    2
    3
  • -:减法运算符,用于计算两个数的差。

    a = 5
    b = 3
    result = a - b  # 结果为 2
    
    1
    2
    3
  • *:乘法运算符,用于计算两个数的乘积。

    a = 5
    b = 3
    result = a * b  # 结果为 15
    
    1
    2
    3
  • /:除法运算符,用于计算两个数的商。

    a = 10
    b = 2
    result = a / b  # 结果为 5.0
    
    1
    2
    3
  • %:模运算符,用于计算除法的余数。

    a = 10
    b = 3
    result = a % b  # 结果为 1
    
    1
    2
    3
  • **:幂运算符,用于计算一个数的幂。

    a = 2
    b = 3
    result = a ** b  # 结果为 8
    
    1
    2
    3

# 三. 比较运算符

比较运算符用于比较两个值,并根据比较结果返回布尔值(TrueFalse)。

  • ==:等于运算符,检查两个值是否相等。

    a = 5
    b = 5
    result = a == b  # 结果为 True
    
    1
    2
    3
  • !=:不等于运算符,检查两个值是否不相等。

    a = 5
    b = 3
    result = a != b  # 结果为 True
    
    1
    2
    3
  • ><>=<=:分别用于比较值的大小。

    a = 5
    b = 3
    result = a > b  # 结果为 True
    result = a < b  # 结果为 False
    result = a >= b  # 结果为 True
    result = a <= b  # 结果为 False
    
    1
    2
    3
    4
    5
    6

# 四. 逻辑运算符

逻辑运算符用于执行布尔逻辑运算。

  • and:逻辑与运算符,只有当两个操作数都为真时,结果才为真。

    a = True
    b = True
    result = a and b  # 结果为 True
    
    1
    2
    3
  • or:逻辑或运算符,只要有一个操作数为真,结果就为真。

    a = False
    b = True
    result = a or b  # 结果为 True
    
    1
    2
    3
  • not:逻辑非运算符,反转操作数的布尔值。

    a = True
    result = not a  # 结果为 False
    
    1
    2

# 五. 赋值运算符

赋值运算符用于给变量赋值或修改变量的值。

  • =:简单赋值运算符,将右侧的值赋给左侧的变量。

    a = 5  # a 的值为 5
    
    1
  • +=-=*=/=%=**=:复合赋值运算符,结合了运算和赋值。

    a = 5
    a += 3  # 等同于 a = a + 3,a 的值为 8
    a -= 1  # 等同于 a = a - 1,a 的值为 7
    a *= 2  # 等同于 a = a * 2,a 的值为 14
    a /= 4  # 等同于 a = a / 4,a 的值为 3.5
    a %= 2  # 等同于 a = a % 2,a 的值为 1
    a **= 3  # 等同于 a = a ** 3,a 的值为 1
    
    1
    2
    3
    4
    5
    6
    7

# 六. 位运算符

位运算符用于对整数的二进制位进行操作。

  • &:按位与运算符,对应位都为 1 时,结果位才为 1。

    a = 0b1010  # 二进制表示
    b = 0b1100
    result = a & b  # 结果为 0b1000
    
    1
    2
    3
  • |:按位或运算符,至少有一个位为 1 时,结果位就为 1。

    a = 0b1010
    b = 0b1100
    result = a | b  # 结果为 0b1110
    
    1
    2
    3
  • ^:按位异或运算符,对应位不同则结果位为 1。

    a = 0b1010
    b = 0b1100
    result = a ^ b  # 结果为 0b0110
    
    1
    2
    3
  • ~:按位取反运算符,反转操作数的每一位。

    a = 0b1010
    result = ~a  # 结果为 -0b1011(Python中负数使用补码表示)
    
    1
    2
  • <<>>:左移和右移运算符,分别将位向左或向右移动指定的位数。

    a = 0b1010
    result = a << 2  # 结果为 0b101000
    result = a >> 1  # 结果为 0b101
    
    1
    2
    3

# 七. 成员运算符和身份运算符

  • in:检查一个值是否存在于序列中。

    a = [1, 2, 3]
    result = 2 in a  # 结果为 True
    
    1
    2
  • not in:检查一个值是否不存在于序列中。

    a = [1, 2, 3]
    result = 4 not in a  # 结果为 True
    
    1
    2
  • is:检查两个引用是否指向同一个对象。

    a = [1, 2, 3]
    b = a
    result = a is b  # 结果为 True
    
    1
    2
    3
  • is not:检查两个引用是否指向不同对象。

    a = [1, 2, 3]
    b = [1, 2, 3]
    result = a is not b  # 结果为 True(即使内容相同,也是不同的对象)
    
    1
    2
    3

# 八. 高级用法

除了基本用法,Python 的运算符还可以用于更高级的操作,例如:

  • 链式比较:可以连续使用比较运算符,进行多个比较。

    a = 10
    
    1

    result = 5 < a < 15 # 结果为 True

    
    
    1
  • 运算符重载:Python 允许开发者定义或修改特殊方法,从而改变某些运算符的行为。

    class Vector:
        def __init__(self, x, y):
            self.x = x
            self.y = y
    
        def __add__(self, other):
            return Vector(self.x + other.x, self.y + other.y)
    
    v1 = Vector(1, 2)
    v2 = Vector(3, 4)
    v3 = v1 + v2  # 使用了重载的 + 运算符
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
  • 生成器表达式:使用圆括号()代替花括号{},可以创建一个生成器表达式,用于懒惰迭代。

    squares = (x**2 for x in range(10))
    for square in squares:
        print(square)
    
    1
    2
    3
上次更新: 10/29/2024, 10:27:50 AM