Python 基础知识:None(空值)
作者:野牛程序员:2025-12-21 12:54:15python阅读 2050
Python 基础知识:None(空值)
# /*
# Python 基础知识:None(空值)
# --------------------------------------------------------
# 功能:
# 1) 解释 None 的概念与特性
# 2) 展示 None 常见应用场景(默认返回值、占位符、初始化)
# 3) 对比 None 与 False / 0 / "" 等值的差异
# 4) 演示 None 判断与 is 运算符的正确用法
# */
# ========================================
print("示例一:None 的基本特性")
x = None
print("x 的值为:", x)
print("类型为:", type(x))
print("-" * 40)
# ========================================
print("示例二:None 与 False / 0 / 空字符串 的差异")
values = [None, False, 0, "", [], {}]
for v in values:
print(v, "的布尔结果为:", bool(v))
print("None 代表“没有值”,但布尔结果同样为 False")
print("-" * 40)
# ========================================
print("示例三:函数默认返回 None")
def test():
print("函数执行完成,但没有 return")
result = test()
print("函数返回值为:", result)
print("-" * 40)
# ========================================
print("示例四:None 作为默认参数占位")
def demo(value=None):
if value is None:
print("未传入参数,使用默认行为")
else:
print("收到参数:", value)
demo()
demo(123)
print("-" * 40)
# ========================================
print("示例五:is / is not 判断 None(正确做法)")
a = None
# 正确方式
if a is None:
print("a 等于 None")
# 不推荐:不要用 == 判断 None
if a == None:
print("虽然能运行,但不推荐这种写法")
print("-" * 40)
# ========================================
print("示例六:None 用作“占位符变量”")
data = None
print("初始状态:", data)
# 后续赋值
data = {"name": "Alice"}
print("更新后:", data)
# ========================================
# 要点总结:
# 1) None 是 Python 的“空值对象”,用于表示“没有值”或“未知状态”;
# 2) 函数若无 return,会默认返回 None;
# 3) None 与 False / 0 / "" 等对象布尔值均为 False,但语义完全不同;
# 4) 判断 None 推荐使用 is / is not;
# 5) 常用于默认参数占位、变量初始化、流程状态标记;
# 6) None 是单例对象,整个程序中只有唯一一个 None。
# */
# 示例一:None 的基本特性
# x 的值为: None
# 类型为: <class 'NoneType'>
# ----------------------------------------
# 示例二:None 与 False / 0 / 空字符串 的差异
# None 的布尔结果为: False
# False 的布尔结果为: False
# 0 的布尔结果为: False
# 的布尔结果为: False
# [] 的布尔结果为: False
# {} 的布尔结果为: False
# None 代表“没有值”,但布尔结果同样为 False
# ----------------------------------------
# 示例三:函数默认返回 None
# 函数执行完成,但没有 return
# 函数返回值为: None
# ----------------------------------------
# 示例四:None 作为默认参数占位
# 未传入参数,使用默认行为
# 收到参数: 123
# ----------------------------------------
# 示例五:is / is not 判断 None(正确做法)
# a 等于 None
# 虽然能运行,但不推荐这种写法
# ----------------------------------------
# 示例六:None 用作“占位符变量”
# 初始状态: None
# 更新后: {'name': 'Alice'}野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892

