Python运算符与表达式
一、表达式
- 概念 由变量、常量和运算符组成的式子称为表达式
- 阅读表达式 1、阅读表达式的功能 2、阅读表达式的值
二、算术运算符
算术运算符
+ | - | * | / | % | // | ** |
---|---|---|---|---|---|---|
加 | 减 | 乘 | 除 | 取模 | 取整 | 求幂 |
算术运算表达式
功能:进行符号对象的算数运算,不会修改变量的值
值:相关算数运算的结果
代码
print(5 + 2)
print(5 - 2)
print(5 * 2)
print(5 / 2)
print(5 % 2)
print(5 // 2)
print(5 ** 2)
三、赋值运算符
赋值运算符
= |
---|
赋值 |
赋值运算表达式
格式:变量 = 表达式
功能:计算等号右侧“表达式”的值,并赋值给等号左侧的“变量”
值 :赋值结束后变量的值
代码
num3 = 10
num4 = num3 + 20
print('num4 = %d' % num4)
四、复合运算符
+= | a += b | 相当于 a = a + b |
---|---|---|
-= | a -= b | 相当于 a = a - b |
*= | a *= b | 相当于 a = a * b |
/= | a /= b | 相当于 a = a / b |
%= | a %= b | 相当于 a = a % b |
//= | a //= b | 相当于 a = a // b |
**= | a **= b | 相当于 a = a ** b |
五、位运算符
&
按位与运算符:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0
<span class="hljs-string">'''
0000 0101
0000 0111
--------------
0000 0101
'''</span>
print(<span class="hljs-number">5</span> & <span class="hljs-number">7</span>)
|
按位或运算符:参与运算的两个值,如果两个相应位有一个为1时,则该位的结果为1,否则为0
<span class="hljs-string">'''
0000 0101
0000 0111
--------------
0000 0111
'''</span>
print(<span class="hljs-number">5</span> | <span class="hljs-number">7</span>)
^
按位异或运算符:参与运算的两个值,如果两个相应位不同时,则该位的结果为1,否则为0
<span class="hljs-string">'''
0000 0101
0000 0111
--------------
0000 0010
'''</span>
print(<span class="hljs-number">5</span> ^ <span class="hljs-number">7</span>)
~
按位取反运算符:对数据的每个二进制位进行取反操作,把1变为0,把0变为1
<span class="hljs-string">'''
0000 0101
--------------
1111 1010
1000 0101
1000 0110
'''</span>
print(~<span class="hljs-number">5</span>)
<<
左移动运算符:运算数的各二进制位全部向左移动若干位,由符号右侧的数字指定移动的位数,高位丢弃,低位补0
<span class="hljs-string">'''
0000 1001
----------------
0010 0100
'''</span>
print(<span class="hljs-number">9</span> << <span class="hljs-number">2</span>)
>>
右移动运算符:运算数的各二进制位全部向右移动若干位,由符号右侧的数字指定移动的位数,低位丢弃,高位补0
<span class="hljs-string">'''
0000 1001
----------------
0000 0010
'''</span>
print(<span class="hljs-number">9</span> >> <span class="hljs-number">2</span>)
六、真值与假值
- 假值(False) 0 0.0 “” None False
- 真值(True) 除了假值就是真值
七、关系运算符
关系运算符
> | < | >= | <= | == | != |
---|---|---|---|---|---|
大于 | 小于 | 大于等于 | 小于等于 | 等于 | 不等于 |
关系运算表达式
格式:表达式1 关系运算符 表达式2
功能:计算表达式1和表达式2的值
值 :如果关系成立,则整个关系运算表达式的值为真,关系不成立,则整个关系运算表达式的值为假
代码
print(1 > 0)
print(1 > 2)
八、逻辑运算符
逻辑与
逻辑与运算符
and
逻辑与运算表达式
格式:
表达式1 and 表达式2
表达式1 and 表达式2 and 表达式3 and …… and 表达式n
功能:从左到右依次计算“表达式”的值,直到某一个“表达式”的值为假才停止计算
值 : 如果表达式1的值为真,表达式2的值为真,则整个表达式的值为真 如果表达式1的值为真,表达式2的值为假,则整个表达式的值为假 如果表达式1的值为假,表达式2的值为真,则整个表达式的值为假 如果表达式1的值为假,表达式2的值为假,则整个表达式的值为假 总结:有一个为假就为假
代码
print(1 and 0)
短路原则
从左到右依次计算“表达式”的值,直到某一个“表达式”的值为假才停止计算,后面的表达式不会在进行计算,但是python无法验证(在表达式中无法使用赋值)
逻辑或
逻辑或运算符
or
逻辑或运算表达式
格式:
表达式1 or 表达式2 表达式1 or 表达式2 or 表达式3 or …… or 表达式n
功能:从左到右依次
值 : 如果表达式1的值为真,表达式2的值为真,则整个表达式的值为真 如果表达式1的值为真,表达式2的值为假,则整个表达式的值为真 如果表达式1的值为假,表达式2的值为真,则整个表达式的值为真 如果表达式1的值为假,表达式2的值为假,则整个表达式的值为假 总结:有一个为这就为真计算“表达式”的值,直到某一个“表达式”的值为真才停止计算
代码
print(1 or 0)
逻辑非
逻辑非运算符
not
逻辑非运算表达式
格式:not 表达式
值 :
如果“表达式”的值为真,则整个表达式的值为假 如果“表达式”的值为假,则整个表达式的值为真 总结:颠倒黑白
代码
print(not 0)
九、成员运算符
- 符号
in | 如果在指定的序列中找到值则返回真,否则返回假 |
---|---|
not in | 如果在指定的序列中找不到值则返回真,否则返回假 |
- 格式 x in seq x not in seq 说明:x表示一个数据,seq表示一个集合
十、身份运算符
- 符号
is | 判断两个标识符是否引用同一个对象,是的话返回真,否则返回假 |
---|---|
is not | 判断两个标识符是否不是引用同一个对象,是的话返回真,否则返回假 |
- 格式 obj1 is obj2 obj1 is not obj2
十一、运算符优先级
-
**
-
~
+
-
按位取反,一元运算符(正负号) -
*
/
%
//
-
+
-
二元运算符 -
<<
>>
-
&
-
|
^
-
>
<
>=
<=
-
==
!=
-
+=
-=
*=
/=
%=
//=
**=
-
is
is not
-
in
not in
-
and
or
not
相关文章
- OpenCV进行人脸识别(Python)
- python & 0xFFFFFFFF打印输出负数的补码[通俗易懂]
- 用Python教训盗号骗子
- Python中的下划线
- Python判断字符串是否包含子字符串
- python interpolate.interp1d_索引错误scipy.interpolate.interp1d「建议收藏」
- Python实现门禁管理系统
- Python进阶40-drf框架(二)
- 如何理解python报错信息_csb报错
- Python中的取整、取余运算「建议收藏」
- python解决 ModuleNotFoundError: No module named _bz2
- 如何设置python的环境变量_anaconda环境变量手动设置
- Python日志管理
- 如何给ESP32-CAM编译micropython
- [Python] 使用print作进度条(解决end=''时print不显示的问题)
- 如何利用Python画图
- 简单的Python脚本,实现ssh登录配置路由器
- python构建IP代理池(Proxy Pool)[通俗易懂]
- Python基础19-面向对象(高级)
- 20·Python基础-单例模式四种实现方式