• 在进行判断时候会将所有对象进行 隐式转换 转换为 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