共计 2191 个字符,预计需要花费 6 分钟才能阅读完成。
一、表达式
-
概念
由变量、常量和运算符组成的式子称为表达式
-
阅读表达式
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
''' 0000 0101 0000 0111 -------------- 0000 0101 ''' print(5 & 7)
-
|
按位或运算符:参与运算的两个值,如果两个相应位有一个为 1 时,则该位的结果为 1,否则为 0
''' 0000 0101 0000 0111 -------------- 0000 0111 ''' print(5 | 7)
-
^
按位异或运算符:参与运算的两个值,如果两个相应位不同时,则该位的结果为 1,否则为 0
''' 0000 0101 0000 0111 -------------- 0000 0010 ''' print(5 ^ 7)
-
~
按位取反运算符:对数据的每个二进制位进行取反操作,把 1 变为 0,把 0 变为 1
''' 0000 0101 -------------- 1111 1010 1000 0101 1000 0110 ''' print(~5)
-
<<
左移动运算符:运算数的各二进制位全部向左移动若干位,由符号右侧的数字指定移动的位数,高位丢弃,低位补 0
''' 0000 1001 ---------------- 0010 0100 ''' print(9 << 2)
-
>>
右移动运算符:运算数的各二进制位全部向右移动若干位,由符号右侧的数字指定移动的位数,低位丢弃,高位补 0
''' 0000 1001 ---------------- 0000 0010 ''' print(9 >> 2)
六、真值与假值
-
假值(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