1.None是一个空值,空值是Python里的一个特殊值,用None表示。可以将None赋值给任何变量。
var = None; print(var) # None
if var is None:
print("var has a value of None") # print
else:
print("var:", var)
2.None有自己的数据类型,它属于NoneType类型。None是NoneType数据类型的唯一值。
print(type(None)) # <class 'NoneType'>
3.None不等于空字符串、空列表、0,也不等同于False。
a = ''; print(a == None) # False
b = []; print(b == None) # False
c = 0; print(c == None) # False
d = False; print(c == None) # False
4.None是一个特殊的空对象,可以用来占位。
L = [None] * 5; print(L) # [None, None, None, None, None]
5.对于定义的函数,如果没有return语句,在Python中会返回None;如果有不带值的return语句,那么也是返回None。
def func():
x = 3
obj = func(); print(obj) # None
def func2():
return None
obj2 = func2(); print(obj2) # None
def func3():
return
obj3 = func3(); print(obj3) # None
6.对于定义的函数,如果默认参数是一个可修改的容器如列表、集合或字典,可以使用None作为默认值。
def func4(x, y=None):
if y is not None:
print("y:", y)
else:
print("y is None")
print("x:", x)
x = [1, 2]; obj4 = func4(x) # y is None
y = [3, 4]; obj4 = func4(x, y) # y: [3, 4]