1.条件
-
第一大类:显示布尔值
①条件可以是:比较运算符
age = 18
print(age > 16) # 条件判断后会得到一个布尔值
②条件可以是:True、False
-
第二大类:隐式布尔值,所有值都可以当成条件去用
其中0、None、空(空字符串、空列表、空字典)=》代表的布尔值为False,其余都为真
2.逻辑运算符
2.1not、and、or的基本使用
-
not:就是把紧跟气候的那个条件结果取反
not与紧跟其后的那个条件是一个不可分割的整体
print(not 16 > 13)
print(not True)
print(not False)
print(not 10)
print(not 0)
print(not None)
print(not '')
-
and:逻辑与,and用来连接左右两个条件,两个条件同时为True才为真
条件1 and 条件2
print(True and 10 > 3)
print(True and 10 > 3 and 10 and 0) # 条件全为真,最终结果才为True
- or:逻辑或,or用来连接左右两个条件,两个条件但凡有一个为True,最终结果就为True,两个条件都为False的情况下,最终结果才为False
2.2not、and、or的优先级
优先级:not>and>or
如果单独就只是一串and连接或者说单独就是一串or连接,按照从左到右顺序依次运算即可(偷懒原则)
如果是混用,就需要考虑优先级了
3.成员运算符与身份运算符
- in
print('egon' in 'hello egon') # 判断一个字符串是否存在于一个大字符串中
print('e' in 'hello egon') # 判断一个字符串是否存在于一个大字符串中
print(111 in [111,222,333]) # 判断元素是否存在于列表中
print('k1' in {'k1':111,'k2':222}) # 判断key是否在于字典中
- not in
print('egon' not in 'hello egon') # 推荐使用
print(not 'egon' in 'hello egon') # 逻辑同上,但语义不明确,不推荐
- is 身份运算符
is:判断id是否相等