Python 中的空对象


Python 没有空对象。但最接近的类似对象是 None。在本文中,我们将了解 None 在 Python 中的行为。

检查空值和 None 的类型,我们发现没有 Null 类型,而 None 对象的类型是 NoneType。

示例

print(type(None))
print(type(Null))

输出

运行以上代码,我们将得到以下结果:

Traceback (most recent call last):
   File "C:\Users\xxx\scratch.py", line 4, in
      print(type(Null))
NameError: name 'Null' is not defined

关于 None 的关键事实

  • None 等同于 False。

  • None 等同于 False。

  • None 等同于 False。

  • None 是一个空字符串。

  • None 等于 0。

  • 将 None 与任何东西进行比较始终会返回 False,除了 None 本身。

Python 中的空变量

未定义的变量与空变量不同。如果将 None 分配给 Python 中的变量,则该变量将为空。

示例

var_a = None
print('var_a is: ',var_a)
print(var_b)

输出

运行以上代码,我们将得到以下结果:

Traceback (most recent call last):
   File "C:\Users\Pradeep\AppData\Roaming\JetBrains\PyCharmCE2020.3\scratches\scratch.py", line 5, in <module>
      print(var_b)
NameError: name 'var_b' is not defined
var_a is: None

None 不与方法关联

如果某个变量被声明为 None,则不能使用任何方法向其添加或删除元素。

示例

 在线演示

listA = [5,9,3,7]
listA.append(18)
print(listA)
listA = None
listA.append(34)
print(listA)

输出

运行以上代码,我们将得到以下结果:

[5, 9, 3, 7, 18]
Traceback (most recent call last):
   File "C:\Users\Pradeep\AppData\Roaming\JetBrains\PyCharmCE2020.3\scratches\scratch.py", line 7, in
      listA.append(34)
AttributeError: 'NoneType' object has no attribute 'append'

更新于: 2021年1月25日

2K+ 次浏览

启动你的 职业生涯

通过完成课程获得认证

开始学习
广告