位运算
print(1^2)
# 异或 结果3
print(1|2)
# 或 结果3
print(1&2)
# 与 结果0
print(~4)
# 按位取反 ~x=-(x+1)
print(1<<2)
# 按照二进制左移 左移一位相当于乘以2
# 结果4
print(3>>1)
# 按照二进制左移 右移一位相当于整除2
# 结果1
计算执行顺序
print(1 << 3 + 2 & 7)
# resut (1<< (3+2)) &7)
先做算术运算,再做移位运算,最后做位运算。
查看变量类型
(1) type(x): 返回x类型;
(2) isinstance(x, type): 判断x的类型是否为type,返回bool值。
is和==的区别
比较的两个变量均指向不可变类型:
a,b='ok','ok'
print(a==b,a is b) #True True
比较的两个变量均指向可变类型:
a,b=['ok'],['ok']
print(a==b,a is b) #True False