002_d、Python None(空值)及用法

 

1、Python None(空值)及用法

  在 Python 中,有一个特殊的常量 None(N 必须大写)。和 False 不同,它不表示 0,也不表示空字符串,而表示没有值,也就是空值。  

  这里的空值并不代表空对象,即 None 和  [ ]、 " "  不同:  

print(None is [])
print(None == [])

print(None == "")
#  print(None is "")       #  报错SyntaxWarning: "is" with a literal. Did you mean "=="? print(None is "")


print(None == 0)
print(None is False)
print(None is None)
View Code

执行结果如下:

D:\SkyWorkSpace\WorkSpace\Pytest\Temp\day06\venv\Scripts\python.exe D:/SkyWorkSpace/WorkSpace/Pytest/Temp/day06/gggg/demo_3.py
False
False
False
False
False
True

Process finished with exit code 0
View Code

 

  None 有自己的数据类型,我们可以在 IDLE 中使用 type() 函数查看它的类型,执行代码如下:

#  判断 None 是否为 None
print(None is None)

# 输出None类型
print(type(None))
View Code

执行结果如下:

D:\SkyWorkSpace\WorkSpace\Pytest\Temp\day06\venv\Scripts\python.exe D:/SkyWorkSpace/WorkSpace/Pytest/Temp/day06/gggg/demo.py
True
<class 'NoneType'>

Process finished with exit code 0
View Code

可以看到,它属于 NoneType 类型。

需要注意的是,None 是 NoneType 数据类型的唯一值(其他编程语言可能称这个值为 null、nil 或 undefined),也就是说,我们不能再创建其它 NoneType 类型的变量,但是可以将 None 赋值给任何变量。如果希望变量中存储的东西不与任何其它值混淆,就可以使用 None。

除此之外,None 常用于 assert、判断以及函数无返回值的情况。举个例子,在前面章节中我们一直使用 print() 函数输出数据,其实该函数的返回值就是 None。因为它的功能是在屏幕上显示文本,根本不需要返回任何值,所以 print() 就返回 None。

spam = print('Hello!')
print(None == spam)

执行结果如下:

D:\SkyWorkSpace\WorkSpace\Pytest\Temp\day06\venv\Scripts\python.exe D:/SkyWorkSpace/WorkSpace/Pytest/Temp/day06/gggg/demo.py
Hello!
True

Process finished with exit code 0

另外,对于所有没有 return 语句的函数定义,Python 都会在末尾加上 return None,使用不带值的 return 语句(也就是只有 return 关键字本身),那么就返回 None。

None,可以认为是内存中不同于其他的一块内存空间。 有分配地址的。

 

 

posted @ 2021-07-25 00:01  空-山-新-雨  阅读(744)  评论(0编辑  收藏  举报