Python3 运算符
发表于:2024-11-25 作者:热门IT资讯网编辑
编辑最后更新 2024年11月25日,Python3 运算符Python3 支持以下类型运算符:算术运算符比较(关系)运算符赋值运算符逻辑运算符位运算符成员运算符身份运算符运算符优先级算术运算a , b = 2,3运算符说明示例+加:将两
Python3 运算符
Python3 支持以下类型运算符:
- 算术运算符
- 比较(关系)运算符
- 赋值运算符
- 逻辑运算符
- 位运算符
- 成员运算符
- 身份运算符
- 运算符优先级
算术运算
a , b = 2,3
运算符 | 说明 | 示例 |
---|---|---|
+ | 加:将两个对象相加 | a + b 结果 5 |
- | 减:将两个对象相减 | a - b 结果 -1 |
* | 乘:将两个对象相乘或复制字符串 | a * b 结果 6 |
/ | 除:将两个对象相除;a /b | a / b 结果 0.6666666666666666 |
% | 取模或取余数 | a % b 结果 2 |
// | 整除:将两个对象相除,取整 | a // b 结果 0 |
** | 指数运算,或幂运算 | a ** b 结果 8 |
比较运算(关系运算)
a , b = 2,3
运算符 | 说明 | 示例 |
---|---|---|
== | 等于:比较两个对象是否相等 | a == b 结果 False |
!= | 不等于:比较两个对象不相等 | a != b 结果 True |
> | 大于:比较对象a是否大于对象b | a > b 结果 False |
< | 小于:比较对象a是否小于对象b | a < b 结果 True |
>= | 大于等于:比较对象a是否大于或等于对象b | a >= b 结果 False |
<= | 小于等于:比较对象a是否小于或等于对象b | a <= b 结果 True |
赋值运算
运算符 | 说明 | 示例 |
---|---|---|
= | 赋值运算 | a = 1 |
+= | 加法赋值 | a += 1 等同于a = a + 1 |
-= | 减法赋值 | a -= 1 等同于 a = a - 1 |
*= | 乘法赋值 | a *= 1 等同于 a = a * 1 |
//= | 整除赋值 | a //= 2 等同于a = a // 2 |
%= | 取余赋值 | a %= 2 等同于 a = a % 2 |
** = | 幂运算赋值 | a *= 2 等同于 a = a ** 2 |
/= | 除法赋值 | a /= 2 等同于 a = a / 2 |
逻辑运算
a , b = 2 , 3
运算符 | 说明 | 示例 |
---|---|---|
and | 与运算:如果a为 False;a and b 返回 False,否则它返回b 的值 | a and b 结果 3 |
or | 或运算:如果a为True,a or b返回a的值,否则返回b的值 | a or b 结果 2 |
not | 非运算:单目运算符,not a 如果a为True,返回False;反之则返回True | not a 结果 False |
位运算
python的位运算是把数字当作二进制来计算,操作符如下:
- 按位与:&
- 按位或:|
- 按位异或:^
- 按位取反:~
- 左移:<<
- 右移:>>
具体详细使用暂时不说。
成员运算
- 成员运算符有in、not in 两种,这里以下边代码作为说明示例
#!/usr/bin/python3a = 'a'lisa = ['a', 'b', 'c']lisb = ['d', 'e', 'f']if a in lisa: print('变量a在列表lisa中')if a not in lisb: print('变量a不在列表lisb中')
以上代码输出
变量a在列表lisa中
变量a不在列表lisb中
身份运算
- 身份运算有两个操作符:is 、is not
- is 与 ==不同,==比较的是值,is比较的是存储对象
- 以下代码为示例说明
#!/usr/bin/python3a = 'a'b = 'a'if a is b: print('a 和 b 指向同一个存储对象,有相同的标识')else: print ('a 和 b 没指向同一个存储对象,没有相同的标识')if id(a) == id(b): print ('a 和 b 指向同一个存储对象,有相同的标识')else: print ('a 和 b 没指向同一个存储对象,没有相同的标识')#修改变量 b 的值b = 'b'if a is b: print ('a 和 b 指向同一个存储对象,有相同的标识')else: print ('a 和 b 没指向同一个存储对象,没有相同的标识')if a is not b: print ('a 和 b 没指向同一个存储对象,没有相同的标识')else: print ('a 和 b 指向同一个存储对象,有相同的标识')
以上代码输出:
a 和 b 指向同一个存储对象,有相同的标识
a 和 b 指向同一个存储对象,有相同的标识
a 和 b 没指向同一个存储对象,没有相同的标识
a 和 b 没指向同一个存储对象,没有相同的标识
运算符优先级
以下表格列出了优先级从高到低所有运算符
运算符 | 描述 |
---|---|
** | 指数 (最高优先级) |
~ , + , - | 按位翻转, 一元加号和减号 (最后两个的方法名为 +@ 和 -@) |
* , / , % , // | 乘,除,取模和取整除 |
+ , - | 加法减法 |
>> , << | 右移,左移运算符 |
& | 位 'AND' |
^ | 位运算符 |
<= , < , > , >= | 比较运算符 |
<> , == , != | 等于运算符 |
= , %= , /= , //= , -= , += , *= , **= | 赋值运算符 |
is , is not | 身份运算符 |
in , not in | 成员运算符 |
and , or , not | 逻辑运算符 |