Python中没有NULL,Python中的None与C中的NULL相近似。None表示空值,是一个特殊的Python对象,None的类型是NoneType。
None的基本特点
- None不支持任何运算,也没有任何内建方法
- None 和任何其他的数据类型比较永远返回False
- None有自己的数据类型NoneType,不能创建其他NoneType对象(它只有一个值None)
- None与0、空列表、空字符串不一样
- 可以将None赋值给任何变量,也可以给None值变量赋值
- None 是没有len,size等属性的,要判断一个变量是否为None,直接使用
if a is None:
None和空列表、空字符窗的区别
结合is和==,用指针来说:
- is 指向同一内存地址
- == 指向内存地址中的内容是相同的
a = list()
b = []
print a == b # True
print a is b # False
c = "abc"
d = "abc"
print c == d # True 字符串池
print c is d # True
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
None和np.newaxis的作用
在数组索引的时候使用None就相当于在对应维度增加一维。
>>> import numpy as np
>a=[1,2,3,4]
>>> a=np.array(a)
>>> a
array([1, 2, 3, 4])
>>> b=a[:,None]
>>> b
array([[1],
[2],
[3],
[4]])
#可以看出,在增加了None之后,原来的数组多了一维
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
参考资料
1.python中的None
2.python中None的特点以及在numpy中None的作用
3.numpy函数学习
4.lexsort对二维矩阵某行某列进行排序
5.python numpy的数组切片和其中None的意思