None 是 Python 中表示“无值”的唯一空对象,属 NoneType 类型且不可变;应使用 is None 判断,不可调用方法或迭代。
None 在 Python 中代表“没有值”或“空”,它不是 0、空字符串、空列表,也不是 False,而是一个独立的特殊常量。
它属于 NoneType 类型,而且是该类型的唯一实例。你不能创建新的 NoneType 对象,也不能修改 None —— 它在内存中只有一个固定地址,所有对 None 的引用都指向同一块位置。
x = None 表示 x
当前不持有任何有效数据虽然 if None: 会进入 else 分支(因为 None 在布尔上下文中为 False),但它和 False、0、""、[] 等有本质区别:
None == False 返回 False(它们不相等)type(None) 是 NoneType,而 type(False) 是 bool
is None,而不是 == None
它常用于函数参数默认值、占位、标记未初始化状态,或者表示操作无返回结果:
def func(x, y=None): 表示 y 可不传if data is None: 比 if not data: 更准确(避免误判空列表或 0)None.upper() 或 None[0] 会报错for i in None: 会触发 TypeError基本上就这些。