Python 中 None 是什么,有哪些用途?

2024-09-0914:36:42后端程序开发Comments297 views字数 1381阅读模式

Python 有一个特殊的对象,通常用于表示什么都没有,它被称为 None。在 Python 中,可以使用关键字 None 来表示空值。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/65111.html

None 与 0、False、空字符串('')、空列表([])不同。None 有它自己的特殊类型(NoneType),它是该类型的唯一对象。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/65111.html

if None:
  print("你认为 None 是 True?")
elif None is False:
  print ("你认为 None 是 False?")
elif None == '':
  print ("你认为 None 是空字符串?")
elif None == []:
  print ("你认为 None 是空列表?")
else:
  print("None 不是 True, 不是 False, None 就是什么也没有...")
  
输出:
None 不是 True, 不是 False, None 就是什么也没有...
>>> type(None)
<class 'NoneType'>

Python 中的 None 有哪些实际应用?文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/65111.html

None 作为变量的初始值

用于表示一个变量还没有被赋值。当变量还没有任何有意义时,可以为其赋值 None。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/65111.html

>>> name = None
>>> name
>>>

Python REPL 输入变量名执行,我们什么也看不到。不过如果我们使用 print() 打印它,我们会看到输出结果:None。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/65111.html

>>> name = None
>>> name
>>> print(name)
None

变量赋值 None 后,可以通过检查变量来为变量重新赋值。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/65111.html

name = None
if name is None:
    name = "zhangsan"

None 作为列表元素的初始值

在列表中可以使用 None,可以从列表中删除 None,也可以将 None 替换为其他值。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/65111.html

>>> lst = [1, 2, 3, None, 5, 6]
>>> [x for x in lst if x is not None]
[1, 2, 3, 5, 6]
>>> ['' if i is None else i for i in lst] 
[1, 2, 3, '', 5, 6]

None 作为字典的返回值

字典中的 get() 方法可以查找键的值,在缺少该键时返回默认值:None。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/65111.html

>>> dic = {"A": 1, "B": 2, "C": 3 }
>>> dic.get("A")
1
>>> dic.get("D")
>>> print(dic.get("D"))
None

None 作为函数的返回值

Python 中的每个函数都会返回一些内容,即使是没有 return 语句的函数。如果函数没有返回值,则返回 None。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/65111.html

def say(name):
    print("Hello", name)
result = say("world")
print(result)

输出:
Hello world
None

None 作为函数参数默认值

在 Python 中,如果函数的某个参数没有被提供,使用 None 作为默认值,这样可以避免错误。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/65111.html

def say(name=None):
    if name is None:
        print("Hello world")
    else:
        print("Hello", name)
say()
say("baby")
文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/65111.html
  • 本站内容整理自互联网,仅提供信息存储空间服务,以方便学习之用。如对文章、图片、字体等版权有疑问,请在下方留言,管理员看到后,将第一时间进行处理。
  • 转载请务必保留本文链接:https://www.cainiaoxueyuan.com/bc/65111.html

Comment

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定