Python 运算符

本文详细介绍了Python中的各种运算符及其用法,包括算术运算符、位运算符、比较运算符和逻辑运算符等,并提供了丰富的示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

运算符

我们将简单浏览一下运算符和它们的用法:

技巧

你可以交互地使用解释器来计算例子中给出的表达式。例如,为了测试表达式2 + 3,使用交互式的带提示符的Python解释器:

>>> 2 + 3
5
>>> 3 * 5
15
>>>

表5.1 运算符与它们的用法

运算符名称说明例子
+两个对象相加3 + 5得到8。'a' + 'b'得到'ab'。
-得到负数或是一个数减去另一个数-5.2得到一个负数。50 - 24得到26。
*两个数相乘或是返回一个被重复若干次的字符串2 * 3得到6。'la' * 3得到'lalala'。
**

返回x的y次幂

3 ** 4得到81(即3 * 3 * 3 * 3)
/x除以y4/3得到1(整数的除法得到整数结果)。4.0/3或4/3.0得到1.3333333333333333
//取整除返回商的整数部分4 // 3.0得到1.0
%取模返回除法的余数8%3得到2。-25.5%2.25得到1.5
<<左移把一个数的比特向左移一定数目(每个数在内存中都表示为比特或二进制数字,即0和1)2 << 2得到8。——2按比特表示为10
>>右移把一个数的比特向右移一定数目11 >> 1得到5。——11按比特表示为1011,向右移动1比特后得到101,即十进制的5。
&按位与数的按位与5 & 3得到1。
|按位或数的按位或5 | 3得到7。
^按位异或数的按位异或5 ^ 3得到6
~按位翻转x的按位翻转是-(x+1)~5得到6。
<小于返回x是否小于y。所有比较运算符返回1表示真,返回0表示假。这分别与特殊的变量True和False等价。注意,这些变量名的大写。5 < 3返回0(即False)而3 < 5返回1(即True)。比较可以被任意连接:3 < 5 < 7返回True。
>大于返回x是否大于y5 > 3返回True。如果两个操作数都是数字,它们首先被转换为一个共同的类型。否则,它总是返回False。
<=小于等于返回x是否小于等于yx = 3; y = 6; x <= y返回True。
>=大于等于返回x是否大于等于yx = 4; y = 3; x >= y返回True。
==等于比较对象是否相等x = 2; y = 2; x == y返回True。x = 'str'; y = 'stR'; x == y返回False。x = 'str'; y = 'str'; x == y返回True。
!=不等于比较两个对象是否不相等x = 2; y = 3; x != y返回True。
not布尔“非”如果x为True,返回False。如果x为False,它返回True。x = True; not y返回False。
and布尔“与”如果x为False,x and y返回False,否则它返回y的计算值。x = False; y = True; x and y,由于x是False,返回False。在这里,Python不会计算y,因为它知道这个表达式的值肯定是False(因为x是False)。这个现象称为短路计算。
or布尔“或”如果x是True,它返回True,否则它返回y的计算值。x = True; y = False; x or y返回True。短路计算在这里也适用。
### Python 运算符使用指南 Python 中的运算符是编程的核心组件之一,涵盖了多种类型和功能。以下是关于 Python 运算符的具体介绍,包括其分类、用法及注意事项。 #### 1. 赋值运算符 赋值运算符用于将表达式的值分配给变量。除了简单的等于号 (=),还有复合赋值运算符,如模运算符 (%=)、指数运算符 (**=) 和向下取整除法运算符 (//=)[^1]。 - **模数和赋值 (%)** 使用 `a %= 20` 等价于 `a = a % 20`,即先计算 `a` 对 20 的余数,再将其结果重新赋值给 `a`。 - **指数和赋值 (**=)** 使用 `a **= 2` 等价于 `a = a ** 2`,表示计算 `a` 的平方并将结果赋回给 `a`[^1]。 - **向下取整并赋值 (//=}** 执行 `a //= 2` 等价于 `a = a // 2`,意味着对 `a` 执行向下取整除法后再将结果赋值给 `a`[^1]。 #### 2. 条件运算符(三元运算符Python 支持一种简洁的形式来替代传统 `if-else` 结构,称为条件表达式或三元运算符。语法如下: ```python x = first_value if condition else second_value ``` 此结构会在满足条件时返回第一个值,否则返回第二个值。例如: ```python max_val = a if a > b else b ``` 这段代码通过单行实现了两数的最大值比较[^1]。 #### 3. 特殊运算符 特殊运算符主要用于更复杂的逻辑判断或数据操作。 - **身份运算符 (`is`, `is not`)** 这些运算符用于验证两个对象是否指向同一个内存位置,而非仅仅比较它们的内容相等性。例如: ```python a = [1, 2, 3] b = a print(a is b) # 输出 True ``` - **成员运算符 (`in`, `not in`)** 成员运算符用于检测某项是否存在特定序列中,适用于列表、字符串、集合等多种容器类型。例如: ```python letters = 'abcde' print('a' in letters) # 输出 True ``` #### 4. 运算符优先级 当一个表达式包含多个不同类型的运算符时,Python 将依据预设的优先级规则依次解析执行。通常情况下,括号内的子表达式拥有最高优先权;而诸如 lambda 表达式则处于较低层次。 #### 5. 运算符重载 Python 允许开发者针对自定义类重新定义标准运算符的行为,这一过程被称为运算符重载[^2]。例如,可以通过实现特殊的魔术方法(magic methods)使自己的对象支持加减乘除或其他常见操作。下面展示了一个简单例子——向量类支持加法运算: ```python class Vector: def __init__(self, components): self.components = components def __add__(self, other): new_components = [] for i in range(len(self.components)): new_components.append(self.components[i] + other.components[i]) return Vector(new_components) v1 = Vector([1, 2, 3]) v2 = Vector([4, 5, 6]) result = v1 + v2 print(result.components) # 输出 [5, 7, 9] ``` 在此案例中,我们通过覆盖 `__add__()` 方法赋予了矢量实例间 "+" 符号的新含义。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值