Python运算符
第一大类是结果是一个值
赋值运算、算数运算
算数运算
以下假设变量 a=10,变量 b=21:
运算符 |
描述 |
实例 |
---|---|---|
+ | 加 - 两个对象相加 | a + b 输出结果 31 |
- | 减 - 得到负数或是一个数减去另一个数 | a - b 输出结果 -11 |
* | 乘 - 两个数相乘或是返回一个被重复若干次的字符串 | a * b 输出结果 210 |
/ | 除 - x 除以 y | b / a 输出结果 2.1 |
% | 取模 - 返回除法的余数 | b % a 输出结果 1 |
** | 幂 - 返回x的y次幂 | a**b 为10的21次方 |
// | 取整除 - 向下取接近商的整数 |
>>> 9//2
4
>>> -9//2
-5
|
样例:
#!/usr/bin/env python3 # -*- coding: UTF-8 -*- a = 5 b = 2 c = a + b print("a + b 的值为:",c) c = a - b print("a - b 的值为:",c) c = a * b print("a * b 的值为:",c) c = a / b print("a / b 的值为:",c) c = a % b print("a % b 的值为:",c) c = a ** b print("a ** b 的值为:",c) c = a // b print("a // b 的值为:",c) 结果: a + b 的值为: 7 a - b 的值为: 3 a * b 的值为: 10 a / b 的值为: 2.5 a % b 的值为: 1 a ** b 的值为: 25 a // b 的值为: 2
赋值运算
以下假设变量a为10,变量b为20:
运算符 | 描述 | 实例 |
---|---|---|
= | 简单的赋值运算符 | c = a + b 将 a + b 的运算结果赋值为 c |
+= | 加法赋值运算符 | c += a 等效于 c = c + a |
-= | 减法赋值运算符 | c -= a 等效于 c = c - a |
*= | 乘法赋值运算符 | c *= a 等效于 c = c * a |
/= | 除法赋值运算符 | c /= a 等效于 c = c / a |
%= | 取模赋值运算符 | c %= a 等效于 c = c % a |
**= | 幂赋值运算符 | c **= a 等效于 c = c ** a |
//= | 取整除赋值运算符 | c //= a 等效于 c = c // a |
:= | 海象运算符,可在表达式内部为变量赋值。Python3.8 版本新增运算符。 |
在这个示例中,赋值表达式可以避免调用 len() 两次: if (n := len(a)) > 10:
print(f"List is too long ({n} elements, expected <= 10)")
|
样例:
#!/usr/bin/env python3 # -*- coding: UTF-8 -*- a = 5 b = 2 c = 0 c = a + b print("a + b 的值为:",c) c += a print("c += 的值为:",c) c -= a print("c -= 的值为:",c) c *= a print("c *= 的值为:",c) c /= a print("c /= 的值为:",c) c **= a print("c **= 的值为:",c) c //= a print("c //= 的值为:",c) 结果: a + b 的值为: 7 c += 的值为: 12 c -= 的值为: 7 c *= 的值为: 35 c /= 的值为: 7.0 c **= 的值为: 16807.0 c //= 的值为: 3361.0
第二大类结果是布尔值
比较运算符、逻辑运算符、成员运算、身份运算符
比较运算符
以下假设变量a为10,变量b为20:
运算符 |
描述 |
实例 |
---|---|---|
== | 等于 - 比较对象是否相等 | (a == b) 返回 False。 |
!= | 不等于 - 比较两个对象是否不相等 | (a != b) 返回 True。 |
> | 大于 - 返回x是否大于y | (a > b) 返回 False。 |
< | 小于 - 返回x是否小于y。所有比较运算符返回1表示真,返回0表示假。这分别与特殊的变量True和False等价。注意,这些变量名的大写。 | (a < b) 返回 True。 |
>= | 大于等于 - 返回x是否大于等于y。 | (a >= b) 返回 False。 |
<= | 小于等于 - 返回x是否小于等于y。 | (a <= b) 返回 True。 |
样例:
#!/usr/bin/env python3 # -*- coding: UTF-8 -*- a = 10 b = 20 print("a == b 结果",a == b) print("a != b 结果",a != b) print("a > b 结果",a > b) print("a < b 结果",a < b) print("a >= b 结果",a >= b) print("a <= b 结果",a <= b) 结果: a == b 结果 False a != b 结果 True a > b 结果 False a < b 结果 True a >= b 结果 False a <= b 结果 True
逻辑运算符
Python语言支持逻辑运算符,以下假设变量 a 为 10, b为 20:
运算符 |
逻辑表达式 |
描述 |
实例 |
---|---|---|---|
and | x and y | 布尔"与" - 如果 x 为 False,x and y 返回 x 的值,否则返回 y 的计算值。 | (a and b) 返回 20。 |
or | x or y | 布尔"或" - 如果 x 是 True,它返回 x 的值,否则它返回 y 的计算值。 | (a or b) 返回 10。 |
not | not x | 布尔"非" - 如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。 | not(a and b) 返回 False |
成员运算
除了以上的一些运算符之外,Python还支持成员运算符,测试实例中包含了一系列的成员,包括字符串,列表或元组。
运算符 | 描述 | 实例 |
---|---|---|
in | 如果在指定的序列中找到值返回 True,否则返回 False。 | x 在 y 序列中 , 如果 x 在 y 序列中返回 True。 |
not in | 如果在指定的序列中没有找到值返回 True,否则返回 False。 | x 不在 y 序列中 , 如果 x 不在 y 序列中返回 True。 |
#!/usr/bin/env python3 # -*- coding: UTF-8 -*- a = "huangping" b = [1,2,3,4,5] c = 123456 print("h" in a) print("ha" in a) print(c in b) print(1 in b) print(1 not in b) 结果: True False False True False
身份运算
身份运算符用于比较两个对象的存储单元
运算符 | 描述 | 实例 |
---|---|---|
is | is 是判断两个标识符是不是引用自一个对象 | x is y, 类似 id(x) == id(y) , 如果引用的是同一个对象则返回 True,否则返回 False |
is not | is not 是判断两个标识符是不是引用自不同对象 | x is not y , 类似 id(x) != id(y)。如果引用的不是同一个对象则返回结果 True,否则返回 False。 |
注意:is 与 == 区别:
is 用于判断两个变量引用对象是否为同一个, == 用于判断引用变量的值是否相等。
例:
#!/usr/bin/env python3 # -*- coding: UTF-8 -*- a = [1,2,3] b = a print("a=",a) print("b=",b) print(b is a) print(b == a) b = a[:] print("a=",a) print("b=",b) print(b is a) print(b == a) 结果: a= [1, 2, 3] b= [1, 2, 3] True True a= [1, 2, 3] b= [1, 2, 3] False True
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?