【Python入门与进阶】Python的运算符

Python中的运算符可以分为几类,每种运算符有特定的用法。
以下是一些主要的Python运算符及其用法:

1. 算术运算符

  • +:加法

    a = 5
    b = 3
    print(a + b)  # 输出 8
    
  • -:减法

    print(a - b)  # 输出 2
    
  • *:乘法

    print(a * b)  # 输出 15
    
  • /:除法(结果为浮点数)

    print(b / a)  # 输出 0.6
    
  • //:整数除法(结果为整数)

    print(a // b)  # 输出 1
    
  • %:取模(求余数)

    print(b % a)  # 输出 3
    
  • **:幂运算

    print(a ** b)  # 输出 125
    

2. 比较运算符

  • ==:等于
  • !=:不等于
  • >:大于
  • <:小于
  • >=:大于等于
  • <=:小于等于

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

print(a == b)  # 输出 False
print(b != a)  # 输出 True
print(a > b)   # 输出 True

3. 逻辑运算符

  • and:逻辑与,两个条件都为True时结果为True
  • or:逻辑或,两个条件中至少有一个为True时结果为True
  • not:逻辑非,取反布尔值。
print(True and False)  # 输出 False
print(True or False)   # 输出 True
print(not True)        # 输出 False

4. 赋值运算符

  • =:赋值
  • +=:加后赋值
  • -=:减后赋值
  • *=:乘后赋值
  • /=:除后赋值(结果为浮点数)
  • //=:整数除后赋值
  • %=:模后赋值
  • **=:幂后赋值

这些运算符可以用于简化代码,通过一次性操作完成变量的更新。

a = 10
a += 5  # 等同于 a = a + 5
print(a)  # 输出 15

b = 20
b *= 2  # 等同于 b = b * 2
print(b)  # 输出 40

5. 位运算符

位运算符对整数的二进制位执行操作。以下是一些常用的位运算符:

  • &:按位与
  • |:按位或
  • ^:按位异或
  • <<:左移(将所有位向左移动指定的位数)
  • >>:右移(将所有位向右移动指定的位数)

这些运算符主要在处理二进制或位字段时使用。

c = 5  # 二进制表示为 101
d = 3  # 二进制表示为 011

# 按位或
print(c | d)  # 输出 7 (111)

# 按位与
print(c & d)  # 输出 1 (001)

# 按位异或
print(c ^ d)  # 输出 6 (110)

# 左移
print(c << 1)   # 输出 10 (1010)

# 右移
print(d >> 1)   # 输出 1 (001)

6. 成员运算符

  • in:检查一个值是否存在于序列(如列表、元组、字符串)中。
  • not in:检查一个值不存在于序列中。
e = [1, 2, 3, 4, 5]
print(3 in e)    # 输出 True
print(6 not in e)  # 输出 True

7. 身份运算符

  • is:检查两个引用是否指向同一个对象。

  • `is not继续身份运算符的解释:

  • is not:检查两个引用是否指向不同的对象。

a = [1, 2, 3]
b = [1, 2, 3]

# 它们有相同的内容,但它们是不同的对象
print(a is b)  # 输出 False
print(a is not b)  # 输出 True

8. 运算符优先级

Python中的运算符具有不同的优先级,这决定了它们在表达式中的计算顺序。了解运算符优先级有助于我们编写更准确的表达式,如果需要改变计算顺序,可以使用括号来明确指定。

以下是Python中运算符的优先级顺序,从高到低:

  1. 括号运算 ( )
  2. 指数运算 **
  3. 一元运算符 -(负数)和 not
  4. 乘法、除法和模 - * / // %
  5. 加法和减法 - +
  6. 位运算符 <<>>
  7. 比较运算符 <<=>>=!===
  8. 逻辑运算符 notand
  9. 逻辑运算符 or
  10. 赋值运算符 =+=-=
  11. 成员运算符 innot in

例如:

result = (1 + 2) * (3 - 4)  # 先计算括号内的加法和减法
# 输出结果为 (3) * (-1) = -3
print(result)  # 输出 -3

通过使用括号,你可以改变运算符的自然优先级,从而在复杂表达式中获得预期的行为。

9. 运算符重载

Python允许通过定义特殊的方法(称为魔术方法)来重载运算符。例如,__add__ 方法允许你定义一个对象与另一个对象相加时的行为。

class Point:
    def __init__(self, x, y):
        self.x = x
        self.y = y

    def __add__(self, other):
        return Point(self.x + other.x,
        self.y + other.y)

# 创建Point对象
p1 = Point(1, 2)
p2 = Point(3, 4)

# 使用重载的加法运算符
p3 = p1 + p2

print(p3.x, p3.y)  # 输出 4 6,表示x和y坐标的和

在这个例子中,我们定义了一个Point类,并通过其__add__方法重载了加法运算符+。这意味着当我们将两个Point对象相加时,它们的位置坐标会被相加,然后返回一个新的Point对象。

10. 条件表达式

Python使用三元条件运算符进行条件赋值操作,格式如下:

x if condition else y

这里,如果conditionTrue,则表达式的结果是x,否则是y

a = 5
b = 10
max_value = a if a > b else b
print(max_value)  # 输出 10,因为5不大于10

11. 逗号运算符

Python中的逗号可以用于分隔元组中的元素,但也可以作为运算符:

a, b = 1, 2
print(a, b)  # 输出 1 2

在这个例子中,逗号运算符用于在一条语句中为多个变量赋值。

12. 扩展的序列解包

Python 3允许你使用星号(*)来解包序列,这可以用来收集多个值到一个列表中,或者在函数调用中解包参数列表。

# 使用星号解包参数列表
args = (1, 2, 3)
function(*args)  # 等同于 function(1, 2, 3)

# 收集多个值到列表
values = [1, 2, *range(3, 6)]
print(values)  # 输出 [1, 2, 3, 4, 5]
  • 15
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值