课堂笔记----运算和运算符(下)

#逻辑运算
'''
1.and 逻辑与运算
2.or 逻辑或运算
3.not 逻辑非运算

xor逻辑异或运算 [相同为假,不同为真](python不支持)'''

# 逻辑与运算 (2个布尔值之间的运算[有假则假]
'''
True + True ==> True
True + False ==> False
False +False ==> False
'''
var1 = True
var2 = False
rst = var1 and var2
print(rst)


#逻辑或运算 [有真则真]
'''
True + True ==> True
True + False ==> True
False +False ==> False
'''
var1 = False
var2 = True
rst = var1 or var2
print(rst)

#逻辑非运算(1个布尔值的运算
'''
True ==> False
False ==> True'''
var = True
rst = not var
print(rst)

 

#位运算,二进制基础上的逻辑运算

'''
1. & 按位与  2. | 按位或 3. ~ 按位非 4. ^ 按位异或 5. >> 右移 6.<< 左移
'''
#按位与运算
var1 = 15 #01111
var2 = 19 #10011
rst = var1 & var2
print(rst) #00011

#按位或运算
var1 = 15 #1111
var2 = 9 #1001
rst = var1 |var2
print(rst) #1111

#按位非运算
var = 26
rst = ~var
print(rst) #结果var加1,变复数

#按位异或运算 相同为假,不同为真
var1 = 15 #1111
var2 = 9 #1001
rst = var1 ^ var2
print(rst) #0110

#左移运算(左移几位相当于乘以2的n次方
var = 3
rst = var << 3
print(rst)

#右移运算(右移几位相当于地板除2的n次方
var = 80
rst = var>>6
print(rst)

 

#成员运算 检测某个数据是否在制定的容器中
'''
in 检测数据值都在容器中 
not in 检测数据值不再容器中
'''

#字符串
var = 'tfboys'
rst = 't' in var
print(rst)

rst = 't' not in var
print(rst)


#列表,元组,集合
var = ['貂蝉','西施','杨玉环','王昭君']
var = ('元组','字典','集合')
var = {'貂蝉','西施','毕业'}
rst = '貂蝉' in var
print(rst)

rst = '貂蝉' not in var
print(rst)

#字典[字典进行成员检测是检测键而非值]
var = {'1':'var','2':'san'}
rst = '1' in var
print(rst)

rst = '1' not in var
print(rst)

rst = 'var' in var
print(rst)

rst = 'var' not in var
print(rst)


#身份检测运算
'''
is 检测两个变量是使用同一个id
is not 检测两个变量不是使用同一个id
'''


#is 检测id标识是否一至
'''
以下规律仅对当前版本Python 负责。
1.对于字符串而言,只要字符串的值相同,那么对应的id标识一定相同
2.对于整数而言,-5到正无穷都是相同的id标识,其他的不是。
3.对于浮点数而言,非负数的变量id标识在值相同的情况下是相同的
4.对于布尔值相同的情况下,id标识一定相同。
5.复数的id标识都不相同
6.列表,元组,字典,集合无论什么情况id标识都不同,空元组的id标志。
'''

var1 = [1,2,3]
var2 = [1,2,3]
rst = var1 is var2
print(rst)
print(id(var1))
print(id(var2))


var1 = {}
var2 = {}
rst = var1 is not var2
print(rst)
print(id(var1))
print(id(var2))

#type() 用于获取数据类型的功能(开发中不推荐使用)

#isinstance() 检测数据是否指定的数据类型

var = ()
#格式:isinstance(数据,类型)
'''
int 
float
bool
complex
list
tuple
dict
set
'''

rst = isinstance(var,list)
print(rst)

#运算优先级
'''
运算的先后顺序就是运算的优先级

'''

 

posted @ 2017-11-19 18:02  miaomf  阅读(209)  评论(0编辑  收藏  举报