- 在进行判断时候会将所有对象进行 隐式转换 转换为 True 或 False
- 默认为 False: 0 '' [] {} () None set()
- == 比较值是否相等
if a == b:
pass
- is -> 比较两个值得内存地址是否相等
- id() 输出内存地址
- 小数据池 为了节省内存
- 数字的小数据池在 大于或等于-5 比较都是相等的
- 字符串的小数据池
# 数字
a, b = -6, -6
print(a is b) # False
c, d = 10, 10
print(c is d) # True
# 字符串
s1 = '中'
s2 = '中'
print(s1 is s2) # 不同的版本会有不同的结果
- is not 比较两个值得内存地址是否不相等
a = None
print(a is not None) # False
- not -> 布尔取反 -> 相当于 js 中 !
boolean = False
if not boolean:
pass
lis = []
boolean = ''
if not lis:
boolean = True
else:
boolean = False
print(boolean) # True
- 判断是否为 xxx 数据类型
a = [1, 2, 3]
if type(a) == list:
pass
a = [1, 2, 3]
if type(a) is list:
pass
- in 判断 xxx 是否在 xxx 里面
a = [1, 2 ,3]
if 1 in a:
pass
dic = {
'a': 1,
'b': 2,
'c': 3
}
if 'a' in dic:
pass
s = 'Hello'
if 'o' in s:
pass
- not in 判断 xxx 是否不在 xxx 里面
a = [1, 2 ,3]
if 4 not in a:
pass
s = 'Hello'
if 'a' not in s:
pass
- .isalnum() -> 字符串是否由字母或数字组成
name = 'taibai123'
if name.isalnum():
pass
- .isalpha() -> 字符串是否只由字母组成
name = 'taibai'
if name.isalpha():
pass
- .isdigit() -> 字符串是否只由数字组成
name = '123'
if name.isdigit():
pass
- .islower() #字符串是否只由小写组成
name = 'abc'
if name.islower():
pass
- .isupper() #字符串是否只由大写组成
name = 'ABC'
if name.isupper():
pass
- .isspace() #字符串是否只由空格组成
name = ' '
if name.isspace():
pass