python学习网站推荐
1.位运算符:按位运算符是把数字看做二进制数来进行计算
(1) & 按位与运算符
相应的位数都为1,则该位的结果是1,否则为0
print(5 & 7)
'''
101
111
---
101
'''
(2) | 按位或运算符
两个二进制位有一个位1时,结果为1
print(5 | 7)
'''
101
111
---
111
'''
(3) ^ 按位异或运算符
二进制的两位相异时,结果为1
print(5 ^ 7)
'''
101
111
---
010
'''
(4) ~ 按位取反运算符
每个二级制数据位取反,1变0,0变1
print(~5)
'''
11111111111111111111111111111111
10000000000000000000000000000001
'''
(5) << 左移动运算符
各二进制位全部左移动若干位,由<<右侧的数字决定,高位丢弃,低位补0
print(2 << 2)
#000000010
(6) >> 右移动运算符
各二进制位全部右移动若干位,由>>右侧的数字决定
print(-13 >> 2)
#00000001101
#00000000011
2.关系运算符和关系运算表达式
== != > < >= <=
关系运算表达式:
1 + 2 > 3 + 4
格式: 表达式1 关系运算符 表达式2
功能:计算“表达式1”和“表达式2”的值
值:如果关系成立,整个关系运算表达式的值为真,否则为假
3.逻辑运算符
(1)逻辑与 and
逻辑与运算表达式:表达式1 and 表达式2
值:
如果表达式1的值为真,表达式2的值为真,整体逻辑与运算表达式的值为真
如果表达式1的值为真,表达式2的值为假,整体逻辑与运算表达式的值为假
如果表达式1的值为假,表达式2的值为真,整体逻辑与运算表达式的值为假
如果表达式1的值为假,表达式2的值为假,整体逻辑与运算表达式的值为假
【有一个为假就为假】
num1 = 10
num2 = 20
num1 = num1 +1
if num1 and num2:
print("**************")
print(num1, num2)
(2)逻辑或 or
逻辑或运算表达式: 表达式1 or 表达式2
值:
表达式1的值为真,表达式2的值为真,逻辑或运算表达式为真
表达式1的值为真,表达式2的值为假,逻辑或运算表达式为真
表达式1的值为假,表达式2的值为真,逻辑或运算表达式为真
表达式1的值为假,表达式2的值为假,逻辑或运算表达式为假
【有一个为真就为真】
num3 = 0
num4 = 1
if num3 or num4:
print("&&&&&&&&&&&&&&&")
(3)短路原则
表达式1 and 表达式2 and 表达式3 and …… and 表达式n
【有一个为假就为假】
表达式1 or 表达式2 or 表达式3 or …… or 表达式n
【有一个为真就为真】
‘’’
(4)逻辑非: not
逻辑非运算表达式: not 表达式
值:
如果表达式的值为真,整体逻辑非运算表达式的值为假
如果表达式的值为假,整体逻辑非运算表达式的值为真
【颠倒黑白】
if not 0:
print("^^^^^^^^^^^^^^^^")
4.成员运算符:
in:如果在指定的序列中找到值返回True,否则返回False
not in:如果在指定的序列中没有找到值返回True,否则返回False
5.身份运算符
is:判断两个标识符是不是引用同一个对象
is not:判断两个标识符是不是引用不同的对象
6.运算符优先级
**
~ + - 正负号(一元加减)
* / % //
+ -
>> <<
&
^ |
<= < > >=
== !=
= %= += -= //=
is is not
in not in
not or and