算术运算符
+ | - | * | / | % | // | ** |
---|---|---|---|---|---|---|
加 | 减 | 乘 | 除 | 取模 | 取整 | 求幂 |
算术运算表达式
功能:进行符号对象的算数运算,不会修改变量的值
值:相关算数运算的结果
代码
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>)
关系运算符
> | < | >= | <= | == | != |
---|---|---|---|---|---|
大于 | 小于 | 大于等于 | 小于等于 | 等于 | 不等于 |
关系运算表达式
格式:表达式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 | 如果在指定的序列中找不到值则返回真,否则返回假 |
is | 判断两个标识符是否引用同一个对象,是的话返回真,否则返回假 |
---|---|
is not | 判断两个标识符是否不是引用同一个对象,是的话返回真,否则返回假 |
**
~
+
-
按位取反,一元运算符(正负号)
*
/
%
//
+
-
二元运算符
<<
>>
&
|
^
>
<
>=
<=
==
!=
+=
-=
*=
/=
%=
//=
**=
is
is not
in
not in
and
or
not