0%

Python学习笔记(函数)

None作为布尔值和False是一样的,如何区分None和False?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
thing = None

if thing:
print("It's some thing.")
else:
print("It's no thing.")


if thing is None:
print("It's nothing")
else:
print("It's something")

# 你需要把None和不含任何值的空数据结构区分开来。0值的整型/浮点型、
# 空字符串('')、空列表([])、空元组((,))、空字典({})、
# 空集合(set())都等价于False,但是不等于None。


def is_none(thing):
if thing is None:
print("It's None")
elif thing:
print("It's True")
else:
print("It's False")

is_none(None)
is_none(True)
is_none(False)
is_none(0)
is_none(0.0)
is_none(())
is_none([])
is_none({})
is_none(set())

运行结果:

1
2
3
4
5
6
7
8
9
10
11
It's no thing.
It's nothing
It's None
It's True
It's False
It's False
It's False
It's False
It's False
It's False
It's False