网站首页 > 技术文章 正文
一、基础运算符分类
1 算术运算符
- +加 3 + 2=5
- - 减 5 - 3=2
- *乘 3 * 4=12
- /除10 / 3=3.333 #结果为浮点数
- //整除10 // 3=3#向下取整
- %取模10 % 3=1#余数
- **幂2 ** 3=8#2的3次方
特殊形式:
- 字符串与 *:"a" * 3 → "aaa"
- 列表拼接与 +:[1] + [2] → [1, 2]
2 比较运算符
- == 等于 3 == 3.0 True
- != 不等于 3 != 5 True
- > 大于 5 > 3 True
- <小于 3 < 5 True
- >= 大于等于 5 >= 5 True
- <= 小于等于 3 <= 5 True
链式比较:
1 < x < 5 等价于 x > 1 and x < 5。
3. 逻辑运算符
and 与 (5 > 3) and (2 < 4) 全真为真,否则为假
or或(5 < 3) or (2 < 4)一真为真,全假为假
not非not (5 > 3)取反
短路特性:
若 and 左侧为假,右侧不执行;若 or 左侧为真,右侧不执行。
4. 赋值运算符
- = x = 5 直接赋值
- += x += 2 x = x + 2
- -= x -= 2 x = x - 2
- *= x *= 3 x = x * 3
- /= x /= 2 x = x / 2
- //= x //= 2 x = x // 2
- %= x %= 3 x = x % 3
- **= x **= 2 x = x ** 2
二、进阶运算符
1. 位运算符(处理二进制)
- & 按位与 0b101 & 0b110 → 0b100 同1为1,否则0
- 按位或 `0b101^按位异或0b101 ^ 0b110 → 0b011不同为1
- ~按位取反~0b101 → -6(补码表示)
- 反转所有位<< 左移5 << 1 → 10二进制左移,右侧补0
>> 右移 5 >> 1 → 2
二进制右移,左侧补符号位
2. 成员运算符
- in 3 in [1, 2, 3] 元素在容器中返回 True
- not in "a" not in "xyz" 元素不在容器中返回 True
3. 身份运算符
- is x is y 判断是否为同一对象(内存地址相同)
- is not x is not None 判断不是同一对象
注意:
is 比较对象标识(id()),== 比较值。
None 判断必须用 is:if x is None: ...
三、运算符优先级
优先级从高到低排列(部分常用):
- ()(括号)
- ↓**
- ↓~(按位取反)
- ↓*, /, //, %
- ↓+, -
- ↓<<, >>(位移)
- ↓&(按位与)
- ↓^, `
- ↓==, !=, >, < 等比较符
- ↓is, is not, in, not in
- ↓not, and, or
最低
=(赋值)
强制优先级:使用括号 () 明确运算顺序。
猜你喜欢
- 2025-06-12 一文学会Python中的运算规则!(python中//运算)
- 2025-06-12 C语言的左右移动,火箭的运行速度,快到你无法想象
- 2025-06-12 Go 语言结构 – 基础篇(语法、数据类型、变量、常量、运算符)
- 2025-06-12 3D旋转玫瑰花:python-matplotlib实现
- 2025-06-12 三、Lua基础语法(lua语法大全)
- 2025-06-12 C语言 奇技淫巧之"位运算"
- 2025-06-12 python开三次方根函数怎么编写,两种设计方法
- 2025-06-12 详解Python整数类型的按位运算(python整数的位数)
- 2025-06-12 轻松办公-OfficeExcel函数精解(197)数学和三角之POWER函数
- 2025-06-12 calloc和realloc的使用以及二级指针作为函数参数的输入和输出
- 最近发表
- 标签列表
-
- cmd/c (64)
- c++中::是什么意思 (83)
- 标签用于 (65)
- 主键只能有一个吗 (66)
- c#console.writeline不显示 (75)
- pythoncase语句 (81)
- es6includes (73)
- sqlset (64)
- windowsscripthost (67)
- apt-getinstall-y (86)
- node_modules怎么生成 (76)
- chromepost (65)
- c++int转char (75)
- static函数和普通函数 (76)
- el-date-picker开始日期早于结束日期 (70)
- localstorage.removeitem (74)
- vector线程安全吗 (70)
- & (66)
- java (73)
- js数组插入 (83)
- linux删除一个文件夹 (65)
- mac安装java (72)
- eacces (67)
- 查看mysql是否启动 (70)
- 无效的列索引 (74)