2022年 11月 4日

Python中的None

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的意思