Python运算符与表达式
1. 运算符分类
运算符主要分5种:
1. 算术运算符
2. 比较运算符
3. 位运算符
4. 逻辑运算符
5. 成员运算符
6. 身份运算符
7. 赋值运算符
1. 算术运算符
算术运算符 描述 实例 输出结果
+ 两个对象相加 abc+d abcd
- 两个对象相减 5-2 3
* 两个对象相乘 3*ab ababab
/ 两个对象相除 8/2 4
% 取模,返回除法的余数 5%3 2
** 幂 2**3 8
// 取整除,返回商的整数部分 3//2 1
2. 比较运算符
比较运算符 描述 实例 输出结果
== 等于 abc==abc True
!= 不等于,与<>意思一样 abc!=ab True
< 小于 5<6 True
<= 小于等于 5<=6 True
> 大于 5>6 False
>= 大于等于 5>=6 False
3.位运算符
位运算符 描述 实例 输出结果
按位与运算符:参与运算的两个
& 值,二进制位都为1,则该位的 60&13 12
结果为1,否则为0
| 按位或运算符:参与运算的两个
值,二进制位只要有一个为1时, 60|13 61
结果位就为1
^ 按位异或运算符:参与运算的两
个值,二进制位不同时,该位的 60^13 49
结果为1
~ 按位取反运算符:参与运算的值,
二进制位取反,0变1,1变0 ~60 -61
<< 左移动运算符:参与运算的值,
所有二进制位左移动指定位数 60<<2 240
>> 右移动运算符:参与运算的值,
所有二进制位右移动指定位数 60>>3 7
4. 逻辑运算符
逻辑运算符 描述 实例 输出结果
and 布尔"与":当两个值都为真, a and b 当a,b均为True,则结果为True
结果才为真,否则均为假
or 布尔"或":当两个值有一个 a or b 当a,b有一个为True,则结果为True
为真,结果就为真
not 布尔"非":当值为假时,结 not a 当a为False,则结果为True
果才为真
5. 成员运算符
成员运算符 描述 实例 输出结果
in 如果指定的对象中包含该成 ‘a‘ in ‘abc‘ True
员,则返回True,否则False
not in 如果指定的对象中不包含该成 ‘c‘ not in ‘abc‘ True
员,则返回True,否则False
6. 身份运算符
身份运算符 描述 实例 输出结果
is 判断两个标识符是否是同一 ‘abc‘ is ‘abc‘ True
对象,如果是,则返回True
is not 判断两个标识符是否不是同 ‘ab‘ isa not ‘abc‘ True
一对象,如果不是,则返回True
7. 赋值运算符(a=10)
赋值运算符 描述 实例 输出结果
+= 加法赋值运算符 a += 2 a=12
-= 减法赋值运算符 a -= 2 a=8
*= 乘法赋值运算符 a *= 2 a=20
/= 除法赋值运算符 a /= 2 a=5
%= 取模赋值运算符 a %= 3 a=1
//= 地板除赋值运算符 a //= 3 a=3
**= 幂赋值运算符 a **= 3 a=1000
注: 所有赋值运算操作都可以转换为(变量 = 变量 算术运算符 值)格式。
赋值运算:
a += 2
算术运算:
a = a + 2
2. 运算符优先级
运算符 描述 优先级(从上到下优先级降低)
‘expression,...‘ 字符串转换 1
{key,datum,...} 字典显示 2
[expression,...] 列表显示 3
(expression,...) 绑定或元组显示 4
f(arguments,...) 函数调用 5
x[index:index] 寻址段 6
x[index] 下标(即索引) 7
x.attribute 属性参考 8
** 指数(幂) 9
~x 按位翻转 10
+x, -x 正负号 11
*, /, % 乘法,除法,取模 12
+, - 加法,减法 13
<<, >> 左(右)位移动 14
& 按位与运算 15
^ 按位异或运算 16
| 按位或运算 17
<,<=,>,>=,==,!= 比较大小运算 18
is, is not 身份运算 19
in, not in 成员运算 20
not x 布尔"非"运算 21
and 布尔"与"运算 22
or 布尔"或"运算 23
lambda lambda表达式 24
注: 不推荐死记硬背运算符的优先级,实际中建议使用()解决优先级问题。
检测数据归属类型(a=100)
- type() 测试可以使用,开发中尽量避免使用该方法
格式:type(变量) b = type(a) print(b)#<class ‘int‘>
- isinstance() 检测一个数据是否由指定的类型创建
格式:isinstance(变量,类) b = isinstance(a,int) print(b)#True
注:禁止检测任意数据是否是object类创建的,因为Python中一切事物都是对象。
时间: 2024-10-22 01:51:09